社区
C#
帖子详情
c#winform 程序 子窗体关闭时, 如何释放窗体所占用的内存。急
ibo500
2008-11-04 04:03:40
c# winform 程序 子窗体关闭时, 如何释放窗体所占用的内存。
form.close();
后,内存,并没有释放啊。
一个程序,随着窗体的一直打开,关闭,内存占用量很大啊
急 如何解决啊
...全文
2166
12
打赏
收藏
c#winform 程序 子窗体关闭时, 如何释放窗体所占用的内存。急
c# winform 程序 子窗体关闭时, 如何释放窗体所占用的内存。 form.close(); 后,内存,并没有释放啊。 一个程序,随着窗体的一直打开,关闭,内存占用量很大啊 急 如何解决啊
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
feisng000
2009-05-20
打赏
举报
回复
我已经找到解决办法了!子窗体关闭,自动会释放进程所占用的内存资源,
而且只要在主窗体加入MainForm_MdiChildActivate(object sender, EventArgs e)事件即可!
需要的朋友加QQ群:70790810
feisng000
2009-05-20
打赏
举报
回复
我已经找到解决办法了!子窗体关闭,自动会释放进程所占用的内存资源,而且只要在主窗体加入 private void MainForm_MdiChildActivate(object sender, EventArgs e)事件即可!
haiyangcehui
2021-07-04
举报
回复
@feisng000
请问,在这个事件里面添加什么代码可以回收呢?
ibo500
2008-11-07
打赏
举报
回复
以上答案 都不能解决我偶的问题
但 还是谢谢 各位了 。
分少 请不要介意。
我给出我偶的方法。希望对 人 有点启发
[DllImport("kernel32.dll")]
private static extern bool SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);
private static void FlushMemory()
{
GC.Collect();
GC.WaitForPendingFinalizers();
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);
//System.Diagnostics.Process.GetCurrentProcess().MinWorkingSet = new System.IntPtr(5);
}
yilanwuyu123
2008-11-04
打赏
举报
回复
override dispose
hangang7403
2008-11-04
打赏
举报
回复
什么窗体会占用这么大内存
ibo500
2008-11-04
打赏
举报
回复
GC.SuppressFinalize(this); 请求系统不要调用指定对象的终结器。
然后我又调用了
GC.ReRegisterForFinalize(this); 请求系统调用指定对象的终结器,此前已为该对象调用 SuppressFinalize
在 form关闭事件里 写的 还是不能是否该窗体所占用的内存。
后来,我又把 GC.SuppressFinalize(this); 放到窗体初始化里面
在窗体关闭时 调用 GC.ReRegisterForFinalize(this); 还是不能释放 内存,
但我发现 在程序最小化时,可以是否内存。
不知道 程序是调用什么东西释放的内存。
还是 很谢谢你的回答。
magicmaster
2008-11-04
打赏
举报
回复
GC.SuppressFinalize(this)也不会马上回收,但会在近期回收
ysj52zqq
2008-11-04
打赏
举报
回复
你可以试一下使用这样的函数
public void Dispose()
{
/*对窗体控件进行 *.close(); 操作
GC.SuppressFinalize(this);
}
这函数运行于你的Form2关闭的时候, 作用是要Form2不进入垃圾回收! 直接释放其空间!
希望能帮到你!
ibo500
2008-11-04
打赏
举报
回复
form.dispose();
也不行,试过了
谢谢你的回复。
nsource
2008-11-04
打赏
举报
回复
this.dispose()
techsky
2008-11-04
打赏
举报
回复
[code=c#]
form.dispose()
[/code]
MDI父
窗体
中的
子
窗体
最大化后消除
子
窗体
在父
窗体
菜单栏中的图标
Winform
的MDI父
窗体
中的
子
窗体
最大化后消除
子
窗体
在父
窗体
菜单栏中的图标。
C#
winform
程序
实现分页的方法
一次性读出全部数据会影响
程序
的
占用
率,造成计算机的“短路”。呵呵,那好把,这次用数据库的存储过程去实现分页,这样是每次按一定数量去读取数据记录,这种方法应该是目前最稳定和最省资源的方法了
C#
,
winform
,ShowDialog,
子
窗体
向父
窗体
传值
窗体
的show方法,没有给调用代码任何通知,如果需要通知,使用showdialog是一种好的选择。 在调用show方法后,show方法后面的代码会立即执行,
WinForm
浮动
窗体
效果源码
WinForm
浮动
窗体
效果源码 项目描述 将界面中的浮动
窗体
可以分上下左右不同位置来拖拽, 并可以添加到相应
窗体
中, 像VS,ERPu8系统,sql数据库界面等可以隐藏,显示
窗体
效果
C#
中
WinForm
程序
退出方法技巧总结
主要介绍了
C#
中
WinForm
程序
退出方法,实例总结了技巧退出
WinForm
程序
窗口的各种常用技巧,非常具有实用价值,需要的朋友可以参考下
C#
111,092
社区成员
642,555
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章