以下是通过我们可以退出应用程序的方法:
-
Enviroment.Exit(0)
-
Application.Exit()
-
Form.Close()
什么是这三种方法,以及何时使用每个人之间的区别?
以下是通过我们可以退出应用程序的方法:
Enviroment.Exit(0)
Application.Exit()
Form.Close()
什么是这三种方法,以及何时使用每个人之间的区别?
适当的方法将被Application.Exit()
根据该文件 ,它会终止所有的消息循环,并关闭从而使您的形式执行其清理代码(在Form.OnClose等)的可能性的所有窗口。
Environment.Exit
只想杀死进程。 如果某种形式的具有例如未保存的更改将不会有任何机会,如果他要救他们询问用户。 另外资源(数据库连接等),无法正确释放,文件可能不被刷新等。
Form.Close
少了点什么,它说:它关闭的形式。 如果您有其他形式开口(也许不是现在,但在未来的某个版本的应用程序),应用程序将不会终止。
请记住,如果你使用多线程, Application.Exit()
将不会终止你的线程(因此该应用程序将继续在后台运行,即使GUI被终止)。 因此,你必须采取措施来杀死你的线程,无论是在主要功能(即Program.Main()
或在时OnClose
主窗体的事件。
他们无一不精。 但form.Close()
不会关闭你的应用程序关闭窗体并在此之后,主方法返回一个int(退出码)。
如果您希望您的应用程序退出时exitcodes使用Environmet.Exit(exitcode)
,或在主方法返回的退出码
Dim forceExitTimer = New Threading.Timer(Sub() End, Nothing, 2500, Timeout.Infinite)
Application.Exit()
这种方法是完美的,允许软件调用残酷结束命令,将被强行关闭软件之前与application.exit轻轻关闭