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是自动垃圾回收机制,你不释放也能被系统给释放掉,手动释放当然也有好处。
转载于:https://www.cnblogs.com/shengtianlong/archive/2010/09/28/1837678.html
C#中窗体的close,dispose,以及application.exit()的区别相关推荐
- Form.close与Application.Exit()的区别
区别很有意思,在父子窗口环境中. 调用Application.exit时,首先会调用子窗口的closing事件.如果有子窗口事件中设置了cancel=true,则程序退出中断. 直接调用父窗口的clo ...
- Python中pass、continue、break、exit()的区别
pass :不做任何事情,只起到占位的作用 continue: 跳出本次循环 break:结束循环 exit():结束整个程序 由于continue和break较简单,这里就不给出代码 转载于:htt ...
- c#中设计器中窗体释放 protected override void Dispose(bool disposing)改写解决部分窗体线程释放不彻底问题
c#中设计器中窗体释放 protected override void Dispose(bool disposing)改写解决部分窗体线程释放不彻底问题 /// <summary> ...
- C#中窗体间传递数据的几种方法
C#中窗体间传递数据的几种方法 在编写C#windows应用程序的时候我们经常会遇到这种问题,怎么样在两个窗体间传递数据呢?以下是我整理的网上的各种方法,在遇到一个实际问题:在form1中打开一个fo ...
- (装载)C#中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别
// 获取程序的基目录. System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径. System.Diagnostics.Process.G ...
- c# winform中窗体切换后释放及防止重复生成
问题1:窗体切换后如何关闭,并释放资? c# winform中,2个窗体,form1和form2,互相切换的时候执行 this.Hide(); Form2 form2 = new Form2();fo ...
- 双屏的情况下,VBA中窗体跟随Excel所在显示器显示
问题: 对于双屏/双显示器场景下,VBA中窗体在弹出的起始位置不一定跟着excel所在显示器显示:比如打开的excel在扩展显示器上,打开的窗体会显示到主显示器/主屏上: 百度说的没一 ...
- C# WInForm中 窗体的this.width和this.height的属性值不能大于显示器的最大分辨率
最近在做一个小项目的时候,发现在 1680x1050 分辨率显示器上写的代码,将窗体的宽度和高度 设置成了 1600×900,在高于1600×900的分辨率上缩放显示很正常, 而后转移到 分辨率低于 ...
- VB中窗体模块、标准模块、类模块的区别
VB的代码存储在模块中.在VB中提供了三种类型的模块:窗体模块.标准模块和类模块. 简单的应用程序可以只有一个窗体,所用的程序都驻留在窗体模块中,而当应用程序庞大复杂时,就要另外附加窗体.最终可能有几 ...
最新文章
- 最新maven插件的安装
- 对CAS机制的理解(一)
- mybatis模糊查询不同写法
- 安卓最新系统_成纺移动校园(移动办公系统)V3.2.1 安卓最新版
- 常用公差配合表图_ER弹簧夹头配套BT刀柄常用规格型号表
- vuejs中 vmode_在VueJS中发现封闭的力量
- poj 1325 Machine Schedule 最小顶点覆盖
- css 设置背景图片铺满固定不动
- 机器学习之概念漂移-concept drift
- SOA平台之争:Java EE,还是.NET……
- LINGO语法及软件操作
- 硬盘安装Linux(ubuntu,centos)
- 主板检测卡常见错误代码:00(FF)
- 原码、反码、补码以及补码是怎么来的
- 千锋云计算毕业设计论文:论文设计任务书
- 除了用jenkins,还有什么方法可实现持续集成?
- python教你画一棵树
- 【MILP】Mixed-Integer Quadratic Programming portfolio optimzation
- 微信安全专线如何转人工服务器,微信客服电话怎么转人工?怎么解封微信号?...
- AFN(向网络发送请求---文件上传)
热门文章
- druid 多数据源_Spring Boot + Mybatis 中 配置Druid多数据源并实现自由切换
- android启动白屏的分析,Android 启动白屏,跳转黑屏以及冷启动优化
- 从php传过来的是字符串吗,PHP 字符串
- LeetCode 437. Path Sum III (STL map前缀和)
- 每天一道LeetCode-----比较两个字符串,每个字符串被若干'.'分成多个数字,一个个比较
- 为什么计算机的编码那么多,为什么中国剩余定理可用于计算机编码?
- Windows 注册表开机启动总结
- 设置、刷新屏幕分辨率
- LeetCode每日一题 530. 二叉搜索树的最小绝对差
- CF-567F(President and Roads) DAG必经边