A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 唐兰文 中级黑马   /  2012-8-4 08:19  /  2083 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

退出程序this.Close()和Application.Exit()有什么区别?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

6 个回复

倒序浏览
Application.Exit()退出整个应用程序
this.Close()退出当前窗口

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
个人觉得关闭主程序的话用Application.Exit()好一点,只是从子窗口关闭自己的话就是用this.close()。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
Application.Exit()是结束整个应用程序
this.Close()关闭当前窗口

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
李帅 来自手机 中级黑马 2012-8-4 13:07:15
报纸
this.Close(); 只是关闭当前的窗口,若不是主窗体的话,是无法退出程序的。另外若有托管线程(非主线程),也无法干净的退出.  Application.Exit();强制所有消息中止,退出所有窗体,但是若有托管线程(非主线程),也无法干净的退出.  Application.ExitThread();强制中止调用线程上的所有消息,同意面临其他线程无法正确退出的问题.  System.Environment.Exit(0);这是最彻底的退出方式,不管什么线程
来自:黑马程序员训练营论坛 Android客户端来自: Android客户端

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
this.Close()   //关闭当前窗体
Application.Exit()   //关闭整个应用程序

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
Application.Exit   方法     
通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。

Form.Close   方法 关闭窗体。   

如果该窗体是应用程序的主启动窗体,则調用窗体的Close()方法,跟調用Application.Exit的效果差不多。
如果该窗体非主启动窗体,则只是关闭该窗体而不关闭整个应用程序。

如果是多线程应用程序,要想关闭整个应用程序,除了調用Application.Exit()方法或者主启动窗体的Close()之外,还需要显示的調用终止线程的代码。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马