![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| vlsaf |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 9.5.2007 Репутация: нет Всего: 1 |
Если я закрываю главное окно Mdi приложения, то дочерние окна сами закрываются и разрушаются.
Но мне надо самому позакрывать все дочерние окна, чтобы грамотно их закрыть. Примерно вот так: int i = 0 foreach (Form childForm in MdiChildren) { i++; childForm.Close(i); } (тут значение i для более легкого понимания, на самом все чуть сложнее) Но где мне этот код вставить. Я не могу поймать момент между тем, как я клацнул на крестик закрытия главной формы и началом закрытия дочерних форм. События главной формы FormClosing наступает уже после закрытия всех дочерних окон. Надоумте, что сделать? |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 4 Всего: 28 |
Приветствую. Может такой вариант будет приемлем. Всех потомков подписать на событие:
Надо будет повозится с тем когда их подписывать на это событие. Как вариант при добавлении Children'a -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| vlsaf |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 9.5.2007 Репутация: нет Всего: 1 |
Да. Это вариант.
И мне кажется, единственно приемлемый в моем случае. Спасибо! |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 4 Всего: 28 |
Пожалуйста. Заходи еще
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| vlsaf |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 9.5.2007 Репутация: нет Всего: 1 |
А... Э... Гм... Кхе-кхе
Что-то я порадовался раньше времени. Ты предлагаешь всех потомков подписать на какое событие? На собственное событие FormClosing? Но они все и так подписаны на собственное событие закрытие окна. А что дальше. Если я в потомке, в событии FormClosing запущу мой цикл
То получится так, что если я закрою сам одино из открытых окон, то позакрываются и все остальные окна Mdi приложения. А это неприемлемо. Или я что-то недопонял? |
|||
|
||||
| vlsaf |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 9.5.2007 Репутация: нет Всего: 1 |
Усё. Проблема решена.
1. В главном окне я нажимаю кнопку закрытия окна. 1.1 Вызываются для каждого дочернего окна FormClosing (!!! при этом дочерние окна не разрушаются !!!) 2. Вызывается FormClosing для главного окна (вот тут то я и ловлю это дело и творю с дочерними окнами все, что душе угодно) что-то я глубоко тормознул и сразу до этого не допер. 3. Идет разрушение главного и дочерних окон. Для меня уже не важно, в какой последовательности Но, все равно, всем спасибо за участие. Без вас, никуда |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 4 Всего: 28 |
А от нас никуда и не денешься
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| Yellow_Submarine |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 18.12.2006 Репутация: нет Всего: нет |
hi *. Случайно вышел на этот топик по поиску. А проблема похожая. Но вот вопрос, как отловить добавление нового Child в MDIChildren, если непосредственно не править метод, в котором он добавляется? То есть в стороннем классе имеется только ссылка на главную форму. И вот из нее бы как-нибудь вытащить событие, которое возбуждается при добавлении Child. Но как? Такого события вроде как нет. Может есть какие-нибудь идеи? Интересно вообще, через год после последнего поста сюда заглянет кто-нибудь..) |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |