社区
C#
帖子详情
Form的close()和Dispose()方法有什么区别啊?
yutaozj
2012-04-14 03:45:04
close()是关闭窗体的意思,Dispose()是释放资源的意思,我就只知道这两句话,更具体的区别呢?
我自己都是 先close 然后再Dispose 这样写两句来关闭窗体的,这样子做好吗?或者是不是多余的,只要close就可以了?
还有,在一个窗体页面代码里建立的实例,假如直接点击窗体上的关闭按钮,那这些类的实例会不会自动释放的?比如Command对象。
...全文
782
5
打赏
收藏
Form的close()和Dispose()方法有什么区别啊?
close()是关闭窗体的意思,Dispose()是释放资源的意思,我就只知道这两句话,更具体的区别呢? 我自己都是 先close 然后再Dispose 这样写两句来关闭窗体的,这样子做好吗?或者是不是多余的,只要close就可以了? 还有,在一个窗体页面代码里建立的实例,假如直接点击窗体上的关闭按钮,那这些类的实例会不会自动释放的?比如Command对象。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
鸭梨山大帝
2012-04-14
打赏
举报
回复
功能如字面意思描述
Close - 关闭
Dispose - 清除/释放
Close表示将当前资源关闭,以Connection 数据库连接为例,如果是连接状态,调用Close之后,该连接会被关闭,但是后续依然可以Open并调用
Dispose表示将当前资源关闭,以Connection 数据库连接为例,如果是连接状态,调用Dispose之后,该连接会关闭并被销毁,打上回收标记.后续不可再直接调用该实例.
"执行与释放或重置非托管资源相关的应用程序定义的任务。"
http://msdn.microsoft.com/zh-cn/library/system.idisposable.dispose.aspx
实做了IDisposable接口.
orochiheart
2012-04-14
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
在以下两种情况下调用 Close 不会释放窗体:(1) 窗体是多文档界面 (MDI) 应用程序的一部分且是不可见的;(2) 您是使用 ShowDialog 显示的该窗体。在这些情况下,需要手动调用 Dispose 来将窗体的所有控件都标记为需要进行垃圾回收。
[/Quote]
+1 MDI 学习了。。
把最好的留到最后
2012-04-14
打赏
举报
回复
在以下两种情况下调用 Close 不会释放窗体:(1) 窗体是多文档界面 (MDI) 应用程序的一部分且是不可见的;(2) 您是使用 ShowDialog 显示的该窗体。在这些情况下,需要手动调用 Dispose 来将窗体的所有控件都标记为需要进行垃圾回收。
orochiheart
2012-04-14
打赏
举报
回复
http://www.cnblogs.com/kevinwan/archive/2007/01/16/621869.html
Win
form
通过一个窗体的时间打开另外一个窗体,并执行一个事件,返回结果到第一个窗体
Win
form
在一个窗体时间里面打开另外一个窗体,并等到第二个窗体事件执行成功以后,返回执行结果,类似于客户端和服务端通信
C# win
form
关闭打开的窗口
C# win
form
中,关闭打开的窗口,关闭所有打开的窗口
VB 16种关闭窗口
VB 16种关闭窗口的
方法
,可以满足大家的需求,请使用。
c# 多线程任务中结束全部线程
c# 多线程任务中结束全部线程
C#多窗体显示与关闭
C#中关于常见的登录模块与退出模块设计,可以在类似子窗体中直接退出或调用其他窗体的简单逻辑代码,可以提供一种设计思路。
C#
111,086
社区成员
642,552
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章