以下是退出应用程序的方法:
Environment.Exit(0)
Application.Exit()
Form.Close()
这三种方法之间的区别是什么?何时使用每种方法?
以下是退出应用程序的方法:
Environment.Exit(0)
Application.Exit()
Form.Close()
这三种方法之间的区别是什么?何时使用每种方法?
正确的方法是Application.Exit()
.根据Documentation,它会终止所有消息循环并关闭所有窗口,从而使窗体有可能执行清理代码(如Form.OnClose等).
Environment.Exit
只会扼杀整个过程.如果某个表单有未保存的更改,它将没有机会询问用户是否要保存这些更改.此外,资源(数据库连接等)无法正确释放,文件可能无法刷新等.
Form.Close
只是按照它说的做:它关闭一个表单.如果您打开了其他表单(可能不是现在,而是在应用程序的future 版本中),应用程序将不会终止.
请记住,如果您使用多线程,Application.Exit()
将不会终止您的线程(因此,即使GUI终止,应用程序也将继续在后台工作).因此,您必须采取措施在Main函数(即Program.Main()
)中或在Main窗体的OnClose
事件中终止线程.