社区
C#
帖子详情
窗体资源释放问题
davidtsui
2010-01-22 09:55:34
我使用一个方法Open()开启一个Mdi子窗体:
Open(new MdiForm1());
然后用另一个方法关闭所有的子窗体
DisposeAll(this);
但我发现,当我重复着两个操作时,内存占用越来越大。
就好像没有Disposed过,而是不停地new。
请问这样是否正常?如何才能正确地释放掉窗体?
...全文
89
7
打赏
收藏
窗体资源释放问题
我使用一个方法Open()开启一个Mdi子窗体: Open(new MdiForm1()); 然后用另一个方法关闭所有的子窗体 DisposeAll(this); 但我发现,当我重复着两个操作时,内存占用越来越大。 就好像没有Disposed过,而是不停地new。 请问这样是否正常?如何才能正确地释放掉窗体?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
davidtsui
2010-03-22
打赏
举报
回复
此方法并不凑效,但为结贴需要,还是给分了。
zhaozhijun0207
2010-01-23
打赏
举报
回复
this.Dispose();
hanzhaoever
2010-01-23
打赏
举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
GC.Collect();
GC.WaitForPendingFinalizers();
private delegate void DelegateCloseForm();
private void CloseForm()
{
if (this.InvokeRequired)
{
this.BeginInvoke(new DelegateCloseForm(CloseForm));
}
else
{
this.Close();
this.Dispose();
}
}
[/Quote]
那位高人给小弟解释一下这段代码!谢谢
cubs870321
2010-01-23
打赏
举报
回复
前来学习
验证码识别
2010-01-23
打赏
举报
回复
UP
maxwellno1
2010-01-22
打赏
举报
回复
楼上正解 速度好快啊
wuyq11
2010-01-22
打赏
举报
回复
GC.Collect();
GC.WaitForPendingFinalizers();
private delegate void DelegateCloseForm();
private void CloseForm()
{
if (this.InvokeRequired)
{
this.BeginInvoke(new DelegateCloseForm(CloseForm));
}
else
{
this.Close();
this.Dispose();
}
}
释放
WPF应用程序的内存
WPF应用程序的内存有时会成为性能瓶颈 试了许多方式与API函数 最终用的这种方法
c#
窗体
嵌入应用程序
c#
窗体
嵌入应用程序,程序里包含了控件,可以直接使用
winform 嵌套chrome浏览器,.net开发谷歌内核浏览器。
.net winform 嵌套谷歌浏览器,flash插件已安装。直接能运行。
[VB.NET]
窗体
资源
释放
问题
<script type="text/javascript"
delphi
窗体
的
释放
关于
窗体
的
释放
:Close()方法是将
窗体
隐藏,即form.hide;
释放
窗体
或是控件的标准用法是Form.Free,其实Free方法只是调用了Destroy()方法,在
窗体
不为nil时进行
资源
的
释放
,但并不将
窗体
实例置为nil,只有
窗体
实例没有创始化之前值才为nil,否则你要显示的将
窗体
实例置为nil.
释放
窗体
的标准用法是: 1、对于模态
窗体
Form1 := TForm.Create(Se...
C#
111,120
社区成员
642,545
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章