| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Создание дочернего окна к Form |
| Автор: maxi91m 14.5.2010, 21:50 |
| У меня есть Form1 где расположен listBox1 и мне теперь нужно по нажатию клавиши Enter создовать дочернее окно где вводить строчку и эта строчка должна вернутся из дочернего окна в Form1 где обработаться функциией. Собственно как сделать это окошечко что бы по нажатию в нем кнопки или чегото в этом роде возвращалась строчка которую я ввел в TextBox? |
| Автор: maxi91m 14.5.2010, 23:44 |
| А можно Form2 привязать к элементу Form1, ну так что бы оно высвечивалось чуть ниже выбранной строчки в listBox? |
| Автор: diadiavova 15.5.2010, 00:51 | ||
Я не понял вопроса. |
| Автор: maxi91m 15.5.2010, 01:07 |
| когда я нажимаю на интер то вылетает окошечко и мне бы хотелось что бы оно вылетало чуть ниже выбранной строчки в listbox Еще почему то мое второе окошечко не реагирует на нажатие клавиш клавиатуры и не перетаскивается мышкой если соит this->ControlBox = false; http://ipicture.ru/Gallery/Viewfull/245006.html |
| Автор: diadiavova 15.5.2010, 01:36 | ||||||
У листбокса есть метод GetItemRectangle. Если ему передать индекс выделенного элемента, получишь прямоугольную область относительно которой надо позиционировать окошко. Всё надо перевести в экранные координаты ессно
Добавлено через 4 минуты и 31 секунду
А как оно должно на них реагировать? На сколько я понял из картинки, ты убрал из него как раз ту часть, за которую его можно перетащить. Или я чего-то не понял? |
| Автор: maxi91m 15.5.2010, 02:39 | ||
| Ну допустим я хочу что бы моя вторая(дочерняя форма) закрывалась по нажатию Escape я пишу в классе Form2
В инете я вычитал что типа эта форма не перехватывает значения клавишь, но как же ее заставить это делать. |
| Автор: diadiavova 15.5.2010, 13:50 |
| Во первых, для этого есть у формы свойство CancelButton(если не ошибаюсь). В дизайнере для этого свойства выбери кнопку, которая закрывает форму и код обработчика этой кнопки будет срабатывать при нажатии эскейпа. Во вторых, для отлова событий клавиатуры нужно свойству KeyPreview(кажись А вообще, ты напрасно с формой возишься, просто взял бы создал вместо неё контрол и разместил бы над листбоксом, как это обычно делается. |