Здравствуйте.
Существует следующая проблема. Есть 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, и вообще, чтобы в памяти лишнего не валялось.

В чем дело? Кто-нибудь сталкивался с подобным?