WinForm程序退出方法总结
引言
在做WinForm程序开发的过程中,我们会经常遇到各种各样退出程序的需求,这时候就要求我们了解不同程序退出的具体详情,下面我们详细介绍一下各种方法。
(一)this.Close()
- 这个方法是Form.cs中的方法,是用来关闭当前Form窗体的。
- 只是用来关闭当前窗体,如果不是主窗体,调用close方法并不会终止程序。
- 关闭主窗体时,如果存在托管线程(非主线程),也无法干净退出。
(二)Application.Exit()
- 通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。
- 如果存在托管线程(非主线程),也无法干净退出。
- 在阻塞方法的情况下,很容易失灵,特别是窗体上有很多循环,事件,显示元素等情况下容易报错。
(三)Application.ExitThread()
- 退出当前线程上的消息循环,并关闭该线程上的所有窗口。
- 如果存在托管线程(非主线程),也无法干净退出。
(四)Environment.Exit(Environment.ExitCode)
- 终止此进程,并将退出代码返回到操作系统。
- 这个方法可以把当前程序退出的干干净净。
- Process.GetCurrentProcess().Kill()的效果一样。