但在构造函数Form()中使用this.Close虽可关闭窗体,但依然会报异常,原因是此时窗体尚未完全创建。那么将读取配置的逻辑放入Form_load事件中也是不错的处理。实测将逻辑放入Form_load事件后,使用this.Close()关闭程序正常。
用Environment.Exit(0)来强制退出进程也是可行的办法,但尽量还是要避免使用,因为程序在终止前可能不能够执行一些必要的清理工作。以下是两个退出方法的区别:
Application.Exit() -> 方法停止在所有线程上运行的所有消息循环,并关闭应用程序的所有窗口。该方法并不强制应用程序退出。Exit 方法通常从一个消息循环内调用,该方法强制 Run 返回。
Environment.Exit() -> 终止进程并返回给操作系统错误码,你需要SecurityPermissionFlag.UnmanagedCode 权限否则会引发SecurityException异常。
原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/544.html