Application.Exit() 与 Form.Close()
来源:互联网 发布:百度的默认端口号 编辑:程序博客网 时间:2024/05/16 05:53
在MSDN上的解释是:
Application.Exit 方法
该方法停止在所有线程上运行的所有消息循环,并关闭应用程序的所有窗口。该方法并不强制应用程序退出。Exit 方法通常从一个消息循环内调用,该方法强制 Run 返回。若要只退出当前线程的某个消息循环,请调用 ExitThread。
警告 当调用 Application.Exit 方法以退出应用程序时,不引发 Form.Closed 和 Form.Closing 事件。如果在必须执行的其中一个事件中有验证代码,则在调用 Exit 方法之前,应分别为每个打开的窗体调用 Form.Close 方法。
其实,程序从Application.Run(new Form1)开始,到Application.Exit()结束,//销毁窗体,回收资源除外
这之中,如果你打开了1个窗体,这两种方法就是一样,如果打开多个,比如你Form1里又开了form2,form3等等,那么,你除了Application.Run()参数以外的实例,执行close就是关闭那个窗体,程序不退出,Application.Exit就都关闭了。
但是 调用 Application.Exit() 并不一定能让程序立即退出,程序会等待所有的前台线程终止后才能真正退出。
解决方法:
1. 背景线程
为避免因为线程造成程序无法退出,可以将线程设置为后台线程(IsBackground = true)。
当然,这样一来,你需要自行处理后台线程的数据操作安全。
2. Environment.Exit(0);
该方法会强制进程关闭,并给操作系统一个退出代码。
- Application.Exit() 与 Form.Close()
- 使用Application.Exit()还是Form.Close()呢?
- .net中form.close()和application.exit()区别
- Application.Exit();和this.close();的区别
- Application.Exit()和this.close()的区别
- this.hide(),this.close(),this.dispose(),以及this.Hide()与this.Visible、Application.Exit与this.Close()区别
- this.Hide()与this.Visible、Application.Exit与this.Close()区别
- Exit the Android application or Close all the Android ativities
- Application.Exit()和this.close()主要有什么区别?
- Application.Close
- WinForm中Application.Exit与Environment.Exit的区别
- WinForm中Application.Exit与Environment.Exit的区别
- Application.Exit()与Environment.Exit(0)有何区别
- C#中窗体的close,dispose,以及application.exit()的区别
- C#中窗体的close,dispose,以及application.exit()的区别
- Application.Exit()
- Application.Exit()
- Close,application.Terminate与halt有什么区别
- spinlock与linux内核调度的关系
- 最近接触的几个东东
- NO.1
- IT成功人生
- 路由器,远程连接,FTP,个人网站配置(转)
- Application.Exit() 与 Form.Close()
- 使用C#判断网络是否通畅
- PHP技术高校普及活动
- 兄弟连Linux在线课堂:第9讲 Linux文件系统管理
- PHP再造人才计划
- 2011年LAMP兄弟连PHP学习优惠政策第一季!
- 迈入职场第一步——大学生职业生涯规划
- Java第十五天
- 给宽带加速,一分钟学会,释放电脑保留的20%宽带资源