表单关闭时的MessageBox

我在关闭应用程序之前使用此代码进行提问,但它无法正常工作。
我的代码如下。

private void Form1_FormClosing(object sender, FormClosingEventArgs e) { DialogResult dlgresult = MessageBox.Show("Exit or no?", "My First Application", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (dlgresult == DialogResult.No) { e.Cancel = true; } else { Application.Exit(); } } 

您不需要显式调用Application.Exit()因为您处于FormClosing事件中,这意味着已触发Closing请求(例如,单击表单按钮上的十字, this.Close() )。 您只需截取结束请求并指示e.Cancel = true;

 private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if(MessageBox.Show("Exit or no?", "My First Application", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { e.Cancel = true; } }