(一)參考文獻:C# 添加FormClosing事件
(二)在 項目名.Designer.cs中的InitializeComponent()添加:
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmMain_FormClosing);
(三)在 項目名.cs中添加:
private void frmMain_FormClosing(object sender, FormClosingEventArgs e) { if (MessageBox.Show("你確定要退出?數據可能會丟失!", "系統提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { e.Cancel = false; //關閉窗體
} else e.Cancel = true; //返回窗體 }
- this.Close(); 只是關閉當前窗口,若不是主窗體的話,是無法退出程序的,另外若有托管線程(非主線程),也無法干凈地退出;
- Application.Exit(); 強制所有消息中止,退出所有的窗體,但是若有托管線程(非主線程),也無法干凈地退出;
- Application.ExitThread(); 強制中止調用線程上的所有消息,同樣面臨其它線程無法正確退出的問題;
- System.Environment.Exit(0); 這是最徹底的退出方式,不管什么線程都被強制退出,把程序結束的很干凈。
-
Thread_VIEW.Abort(); //關閉Thread_VIEW線程
Thread_SAVE.Abort(); //關閉Thread_SAVE線程