C#中窗体的close,dispose,以及application.exit()的区别
2017-07-24 09:54
741 查看
转载自:http://www.cnblogs.com/shengtianlong/archive/2010/09/28/1837678.html
close关闭窗体,对象仍然存在,调用Close函数释放资源后可能还需要再次使用。
dispose,销毁对象,窗体对象被回收了,也就是不存在了,Dispose函数释放的资源不再使用。
application.exit.整个程序进程结束,项目中的所有对象都会被销毁,退出整个应用程序。
注:在MDI情况下会有所不同。在这种情况下,您需要手动调用Dispose,将窗体的所有控件都标记为进行垃圾回收。
Close,Dispose对于单个窗体,最终还是调用Exit退出。
Close调用会引发WM_CLOSE消息,要是在Form_Closing里面加几句代码,就可以屏蔽掉。把那个Handle = false就可以了。
Dispose是直接释放整个对象,也就是手动释放。.Net是自动垃圾回收机制,你不释放也能被系统给释放掉,手动释放当然也有好处。
close关闭窗体,对象仍然存在,调用Close函数释放资源后可能还需要再次使用。
dispose,销毁对象,窗体对象被回收了,也就是不存在了,Dispose函数释放的资源不再使用。
application.exit.整个程序进程结束,项目中的所有对象都会被销毁,退出整个应用程序。
注:在MDI情况下会有所不同。在这种情况下,您需要手动调用Dispose,将窗体的所有控件都标记为进行垃圾回收。
Close,Dispose对于单个窗体,最终还是调用Exit退出。
Close调用会引发WM_CLOSE消息,要是在Form_Closing里面加几句代码,就可以屏蔽掉。把那个Handle = false就可以了。
Dispose是直接释放整个对象,也就是手动释放。.Net是自动垃圾回收机制,你不释放也能被系统给释放掉,手动释放当然也有好处。
相关文章推荐
- C#中窗体的close,dispose,以及application.exit()的区别
- C#中窗体的close,dispose,以及application.exit()的区别
- C#中窗体的close,dispose,以及application.exit()的区别
- C#中窗体的close,dispose,以及application.exit()的区别
- C#中窗体的close,dispose,以及application.exit()的区别
- this.hide(),this.close(),this.dispose(),以及this.Hide()与this.Visible、Application.Exit与this.Close()区别
- Environment.Exit(0) 、Application.Exit() 、this.Close() 、this.Dispose()的区别
- Application.Exit()和this.close()主要有什么区别?
- C#中Dispose和Close的区别
- this.Hide()与this.Visible、Application.Exit与this.Close()区别
- Finalize、Dispose、Close 的区别与使用[C#基础]
- C#中Dispose和Close的区别
- C#中Dispose和Close的区别
- C#中Dispose和Close的区别!
- c#Close方法和Dispose方法区别
- C#中Dispose和Close的区别
- C#中Dispose和Close的区别
- 探讨C#中Dispose方法与Close方法的区别详解
- QT中关闭应用程序和窗口的函数(quit(),exit()以及close()的区别)
- C#中Dispose和Close的区别