c# MainForm_FormClosing()问题

 1 private void MainForm_FormClosing(object sender, FormClosingEventArgs e) 
 2 {
 3   DialogResult dr = MessageBox.Show("测试未停止,确定要退出序?", "Platform",MessageBoxButtons.YesNo, MessageBoxIcon.Stop);  
 4   if (dr == DialogResult.Yes)
 5   { 
 6     TestStopFlag = true; 
 7     StopTest(); 
 8      //base.OnClosing(e); 
 9     //Application.Exit(e);
10     Environment.Exit(Environment.ExitCode); 
11   } 
12   else{  
13      e.Cancel = true; 
14    }  
15 }


       若使用Application.Exit(e);程序会两次跳进MainForm_FormClosing事件,因为Application.Exit(e);会触发MainForm_FormClosing事件;

       避免两次跳入,则使用Environment.Exit(Environment.ExitCode);即可。

posted @ 2012-12-03 20:16  木勺子  阅读(4018)  评论(2编辑  收藏  举报