【问题标题】:MessageBox on Form Closing表单关闭时的消息框
【发布时间】:2012-09-07 04:54:38
【问题描述】:

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

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();
   }
}

【问题讨论】:

  • 在没有响应后再次请求问题并同样关闭

标签: c# formclosing


【解决方案1】:

您不需要显式调用Application.Exit(),因为您处于FormClosing 事件中,这意味着已触发关闭请求(例如单击表单按钮上的叉号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;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 2012-08-03
    • 2014-07-04
    相关资源
    最近更新 更多