Я нашел это:
Кнопка с крестиком в правом верхнем углу формы, как поймать это событие @ C #
Что говорит, что я должен использовать событие FormClosing, чтобы узнать, когда окно закрывается из-за щелчка по X.
Но мой код события никогда не вызывается:
private void MainWin_FormClosing(Object sender, FormClosingEventArgs e) { m_closeThread = true; Application.Exit(); }
Я, должно быть, упускаю что-то простое, но я не знаю, что.
Вы должны либо подписаться на событие как:
this.FormClosing += this.MainWin_FormClosing;
в конструкторе формы (или где-то), либо использовать:
override void OnFormClosing(FormClosingEventArgs e) { m_closeThread = true; Application.Exit(); }
Убедитесь, что вы правильно подписываетесь на событие FormClosing .
Вы должны иметь в своем диалоговом окне MainWin (обычно в конструкторе) что-то вроде этого:
this.FormClosing += new FormClosingEventHandler(MainWin_FormClosing);
Надеюсь, это поможет.