Winform子窗体关闭程序的方法总结
在做Winform应用程序的时候,常常会用到子窗体关闭整个程序。
下面是我积累的一些方法:
System.Environment.Exit(0):
解释:强制该程序的主线程,不管有无子线程正在执行方法,而且调用该方法是直接退出,该方法之后的代码不会被执行。
优点:关闭程序快,如果确定调用该方法是无其他操作可以使用该方法。
缺点:如果子线程在执行方法,那么此时调用该方法,数据可能会出现异常。
代码使用:
//关闭窗口
private void Main_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("确定退出吗?", "退出程序", MessageBoxButtons.OKCancel) != DialogResult.OK)
e.Cancel = true;
else
{
System.Environment.Exit(0); //强制关闭
Int i=1;//该代码不会被执行
}
}
Application.Exit()
解释:通知winform消息循环退出。会在所有前台线程退出后,退出应用。
本人理解&