单击角落中的Big Red X时未调用FormClosing

Alm*_*lmo 2 c# winforms formclosing

我找到了这个:

在窗体的右上角有一个带X的按钮,如何抓住这个事件@ C#

其中说我应该使用FormClosing事件找出窗口因为点击X而关闭的时间.

但我的事件代码永远不会被调用:

private void MainWin_FormClosing(Object sender, FormClosingEventArgs e)
{
    m_closeThread = true;
    Application.Exit();
}
Run Code Online (Sandbox Code Playgroud)

我必须遗漏一些基本的东西,但我不知道是什么.

Vla*_*mir 8

您必须订阅此事件,例如:

this.FormClosing += this.MainWin_FormClosing;
Run Code Online (Sandbox Code Playgroud)

在窗体的构造函数(或某处),或使用:

override void OnFormClosing(FormClosingEventArgs e)
{
    m_closeThread = true;
    Application.Exit();
}
Run Code Online (Sandbox Code Playgroud)