![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| XavierElf |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 24.1.2007 Где: г. Тверь Репутация: 1 Всего: 1 |
Проблема состоит в следующем: у меня есть некая форма содержащая лист-бокс, который отображает сообщения обмена с сервером. Она(эта форма) создаётся с началом работы приложения и должна заканчивать свою работу с завершением работы приложения. Большую часть времени она скрыта, однако в лист-бокс постоянно передаётся вся информация об обмене с сервером. Периодически её можно вызывать из меню приложения, однако, после того, как необходимость в ней пропадает, её необходимо не удалить, а скрыть, чтобы не терять всю информацию из лист-бокса. Хранить эту информацию в массиве я не хочу, так как она может вырасти до довольно большого размера... Мне нужно, чтобы по нажатию "креста" в системном меню или комбинации <Alt>+<F4>, форма скрывалась. Как это можно реализовать?
--------------------
Даешь открытые исходники! |
|||
|
||||
| Naum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 1 Всего: 15 |
Пишешь в событии Closing этой формы пишешь e.Cancel = true; this.Hide();
-------------------- У нас всего два праздника Новый год и ТЯПница. |
|||
|
||||
| XavierElf |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 24.1.2007 Где: г. Тверь Репутация: 1 Всего: 1 |
Так, теперь не получается закрыть приложение...
Сделал так:
Однако после этого программа начала закрываться только после второго клика по "кресту". Это сообщение отредактировал(а) XavierElf - 9.4.2007, 10:28 --------------------
Даешь открытые исходники! |
|||
|
||||
| enginer |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.1.2007 Репутация: нет Всего: 1 |
не очень красиво но 100% работает
Главная форма
Дочерняя форма
|
||||
|
|||||
| XavierElf |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 24.1.2007 Где: г. Тверь Репутация: 1 Всего: 1 |
Это я в самом начале пробовал - не катит... У меня кстати сообщением выше твоего написан практически аналогичный код, если учесть, что вместо "глобальной переменной" я использую свойство типа "get". Впрочем проблему я всё-таки решил, использовав вместо Show() метод ShowDialog()... Только не устраивает, что диалог модальный... Если кто-нибудь знает, как всё-таки можно решить мою проблему без модального диалога - напишите плз... А пока вопрос решён...
--------------------
Даешь открытые исходники! |
|||
|
||||
| Hurricane |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 10.4.2007 Репутация: нет Всего: 9 |
А если вот так?
Во второй форме - просто прячем ее вместо закрытия:
Чтобы было совсем красиво - было бы хорошо передавать FormClosing событие из второй формы в первую (основную), а та уже бы решала, что нужно сделать, например - form2.Hide(); Еще красивее - делается отдельный класс-менеджер, который управляет Hide/Show второй формы. Но это уже к вопросам дизайна. В C++ часто так и делается - где-то есть auto_ptr<CMyDialog> m_pDialog, в конструкторе (или по первому обращению, или когда надо) - создается объект немодального диалога, и дальше он прячется/показывается когда надо. В деструкторе родительского класса он уничтожается, с соответствующим закрытием окна. |
||||
|
|||||
| enginer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.1.2007 Репутация: нет Всего: 1 |
не могу понять, что именно "не катит". код проверен, свое отрабатывает как надо. безусловно общие черты с твоим кодом есть, но я просто состряпал примитив для проверки. короч все работает.
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |