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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

找的关于this.colse()和Application.Exit()的区别,虽然不是很明白,学习学习!

C#中窗体的close,dispose,以及application.exit()的区别

close关闭窗体,对象仍然存在,调用Close函数释放资源后可能还需要再次使用。
dispose,销毁对象,窗体对象被回收了,也就是不存在了,Dispose函数释放的资源不再使用。

application.exit.整个程序进程结束,项目中的所有对象都会被销毁,退出整个应用程序。

注:在MDI情况下会有所不同。在这种情况下,您需要手动调用Dispose,将窗体的所有控件都标记为进行垃圾回收。
Close,Dispose对于单个窗体,最终还是调用Exit退出。
Close调用会引发WM_CLOSE消息,要是在Form_Closing里面加几句代码,就可以屏蔽掉。把那个Handle   =   false就可以了。
Dispose是直接释放整个对象,也就是手动释放。.Net是自动垃圾回收机制,你不释放也能被系统给释放掉,手动释放当然也有好处。

                                                                                                                                       (此文引用 shengtianlong 的随笔)

评分

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

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马