Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание дочернего окна к Form 
:(
    Опции темы
maxi91m
Дата 14.5.2010, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 14.1.2007
Где: Нижний Новгород

Репутация: нет
Всего: нет



У меня есть Form1 где расположен listBox1 и мне теперь нужно по нажатию клавиши Enter создовать дочернее окно где вводить строчку и эта строчка должна вернутся из дочернего окна в Form1 где обработаться функциией.

Собственно как сделать это окошечко что бы по нажатию в нем кнопки или чегото в этом роде возвращалась строчка которую я ввел в TextBox?

 smile 
--------------------
PM MAIL ICQ   Вверх
diadiavova
Дата 14.5.2010, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(maxi91m @  14.5.2010,  22:50 Найти цитируемый пост)
Собственно как сделать это окошечко что бы по нажатию в нем кнопки или чегото в этом роде возвращалась строчка которую я ввел в TextBox?

Просто создай в нём свойство, которое будет возвращать этот текст.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
maxi91m
Дата 14.5.2010, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 14.1.2007
Где: Нижний Новгород

Репутация: нет
Всего: нет



А можно Form2 привязать к элементу Form1, ну так что бы оно высвечивалось чуть ниже выбранной строчки в listBox?
 smile 

Это сообщение отредактировал(а) maxi91m - 14.5.2010, 23:52
--------------------
PM MAIL ICQ   Вверх
diadiavova
Дата 15.5.2010, 00:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(maxi91m @  15.5.2010,  00:44 Найти цитируемый пост)
А можно Form2 привязать к элементу Form1, ну так что бы оно высвечивалось чуть ниже выбранной строчки в listBox?

Я не понял вопроса.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
maxi91m
Дата 15.5.2010, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 14.1.2007
Где: Нижний Новгород

Репутация: нет
Всего: нет



когда я нажимаю на интер то вылетает окошечко и мне бы хотелось что бы оно вылетало чуть ниже выбранной строчки в listbox

Еще почему то мое второе окошечко не реагирует на нажатие клавиш клавиатуры и не перетаскивается мышкой если соит  this->ControlBox = false;
user posted image
--------------------
PM MAIL ICQ   Вверх
diadiavova
Дата 15.5.2010, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(maxi91m @  15.5.2010,  02:07 Найти цитируемый пост)
когда я нажимаю на интер то вылетает окошечко и мне бы хотелось что бы оно вылетало чуть ниже выбранной строчки в listbox

У листбокса есть метод GetItemRectangle. Если ему передать индекс выделенного элемента, получишь прямоугольную область относительно которой надо позиционировать окошко. Всё надо перевести в экранные координаты ессно
Код

var rect = listBox1.RectangleToScreen(this.listBox1.GetItemRectangle(listBox1.SelectedIndex));
Полагаю, как указать координаты окна пояснять не надо?

Добавлено через 4 минуты и 31 секунду
Цитата(maxi91m @  15.5.2010,  02:07 Найти цитируемый пост)
Еще почему то мое второе окошечко не реагирует на нажатие клавиш клавиатуры

А как оно должно на них реагировать?
Цитата(maxi91m @  15.5.2010,  02:07 Найти цитируемый пост)
 и не перетаскивается мышкой если соит  this->ControlBox = false;

На сколько я понял из картинки, ты убрал из него как раз ту часть, за которую его можно перетащить. Или я чего-то не понял?


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
maxi91m
Дата 15.5.2010, 02:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 14.1.2007
Где: Нижний Новгород

Репутация: нет
Всего: нет



Ну допустим я хочу что бы моя вторая(дочерняя форма) закрывалась по нажатию Escape 
я пишу в классе Form2

Код

private: System::Void Form2_KeyUp(System::Object^  sender, System::Windows::Forms::KeyEventArgs^  e) {
             if(e->KeyCode == Keys::Escape)
                 this->Close();
         }


В инете я вычитал что типа эта форма не перехватывает значения клавишь, но как же ее заставить это делать.
--------------------
PM MAIL ICQ   Вверх
diadiavova
Дата 15.5.2010, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Во первых, для этого есть у формы свойство CancelButton(если не ошибаюсь). В дизайнере для этого свойства выбери кнопку, которая закрывает форму и код обработчика этой кнопки будет срабатывать при нажатии эскейпа.
Во вторых, для отлова событий клавиатуры нужно свойству KeyPreview(кажись smile ) присвоить тру.

А вообще, ты напрасно с формой возишься, просто взял бы создал вместо неё контрол и разместил бы над листбоксом, как это обычно делается.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0518 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.