C#的winForm下释放资源
2016-07-10 09:08
323 查看
现状:
在winform下只允许10000个控件同时显示。
此方法不能释放资源,只是简单的删除index,而不是dispose()控件:
System.Windows.Forms.Control.ControlCollection.Clear();
下面的方法也不行,因为dispose()以后,index不变,而后面的数组全部前移,所以只能dispose一半:
解决方法:
在winform下只允许10000个控件同时显示。
此方法不能释放资源,只是简单的删除index,而不是dispose()控件:
System.Windows.Forms.Control.ControlCollection.Clear();
下面的方法也不行,因为dispose()以后,index不变,而后面的数组全部前移,所以只能dispose一半:
foreach(Control ctl in this.Controls) { if(ctl != null) ctl.dispose(); }
解决方法:
int CntControls = Controls.count; for(int i=0; i<CntControls; i++){ if(Controls[0] != null) Controls[0].Dispose(); } }
相关文章推荐
- c#的第二节课
- C# datagridview 如何设置datagridview隔行变色。
- C# mouse keyboard monitor
- 18位身份证号验证算法的原理以及C#实现和在管理系统的应用
- C#取得webconfig中保存的信息
- C#文件上传
- [C#6] 7-索引初始化器
- Kinect基础之在WinForm(C#)中显示彩色数据和深度数据
- C#往DB中插入上传的文件
- C#获取ip的示例
- 用C#语言实现八皇后问题
- 将XNA整合到WinForm
- C#经验
- C#中取得Web的当前目录
- C#将文字写入图片
- C#基础之Attribute
- C#获取本机IP以及无线网ip
- C#字符串反序
- C#的语法
- C#中的反射原理及应用