Здравствуйте.
Существует следующая проблема. Есть MDI приложение. Действующими лицами выступают 3 формы: основная MDI — parent и две — children.
Parent создает 1-ю child — форму, которая является скрытой (для нее просто не вызывается метод Show()). Та в свою очередь создает третью и орудует с ней. При возникновения события Closed 3-й формы, 2-я пытается себя закрыть, вызвав this.Close(). MDI — parent в свою очередь подписан на событие Closed второй формы.

Так вот, наткулся на такую проблему: при таком раскладе метод this.Close() 2-й формы не генерирует события Closed, Closing, не вызывает Dispose() (я так решил подключив MessageBox к событию Disposed), в общем, не делает того, для чего он предназначен.

Как только я прописываю для 2-й формы метод Show() все начинает работать как надо. Мне же не нужно показывать форму, но нужно событие Closed, и вообще, чтобы в памяти лишнего не валялось.

В чем дело? Кто-нибудь сталкивался с подобным?
Непомнимаю что вас в этом удивляет, если форма не открыта, то что Вы собираетесь закрывать и какое событие Вы можете ожидать? Вам следует перепроектировать логику работы.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Опять рсдн...
"Чтобы продать что-то ненужное, нужно сначала купить что-то ненужное." (С) by Кот Матроскин.
Причинно-следственные связи еще никто не отменял, имхо. Но может я отстал от жизни уже? Если не телать Show(), или "Visible = true;", то много какие события во многих контролах не будут работать...
—
Real programmers don't comment their code. If it was hard to write, it should be hard to understand.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение