程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c# 窗體closing事件-窗體的Closing事件,裡面如果使用Application.Exit(),會彈出兩次對話框詢問

c# 窗體closing事件-窗體的Closing事件,裡面如果使用Application.Exit(),會彈出兩次對話框詢問

編輯:編程解疑
窗體的Closing事件,裡面如果使用Application.Exit(),會彈出兩次對話框詢問

代碼如下,

  private void StartForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (DialogResult.OK == MessageBox.Show("確認退出?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information))

            {
                Application.Exit();
            }
            else
                e.Cancel = true;


        }

而我把Application.Exit()注釋掉就正常彈出一次對話框了,新人不解!請大家幫幫忙!

最佳回答:


這個是很正常的,當執行Application.Exit();時,就激活窗體的關閉事件,從而調用該事件的處理程序StartForm_FormClosing,你這樣寫相當於遞歸調用
,修改如下:
private void StartForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (DialogResult.Cancel == MessageBox.Show("確認退出?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information))
{
e.Cancel = true;
}
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved