乒乓世界杯_u20世界杯最新战况 - chhtzx.com

006——C#关闭窗口 添加FormClosing事件

4377

(一)参考文献: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; //返回窗体

}

C# 使用多线程,在关闭窗体时 怎么关闭窗体的所有线程,使程序退出。

this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;

Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;

Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;

System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。

Thread_VIEW.Abort(); //关闭Thread_VIEW线程 Thread_SAVE.Abort(); //关闭Thread_SAVE线程