Как предотвратить закрытие скрытой формы в C#
Я хочу предотвратить закрытие формы в некоторых случаях. Я знаю использование OnFormClosing, но когда форма скрыта (Visible==false), метод OnFormClosing не вызывается. Есть ли способ перехватить закрытие формы в этом случае?
Редактировать (некоторые подробности): форма является дочерней в MdiParent, должна оставаться невидимой в фоновом режиме и ждать вызовов из другого потока (от Invoke).
MdiParent закрывает все дочерние окна, когда пользователь "отключается", в этом случае приведенная выше форма должна оставаться открытой, но невидимой и все еще ожидающей звонков. Когда MidParent закрывается, все формы должны закрываться.
Edit2 (нет решения?): Кажется, что нет никакого решения для этого. Мой обходной путь теперь состоит в том, чтобы исключить мою не закрывающуюся форму в коде MdiParent, который закрывает все другие формы.
1 ответ
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
// This will cancel the event
e.Cancel = true;
}
Независимо от причины, это эффективно остановит закрытие формы.