读书人

未处理的“System.ComponentModel.Win

发布时间: 2011-12-10 22:22:01 作者: rapoo

有时间的达人们查一下错误根源,顶着有分!!!!!
在visual studio 2005中 执行下面的程序:
编译可以通过,运行也不出错。
只是一直运行2-3个小时就报错:(是在频繁的调用代码的情况下)
未处理的“System.ComponentModel.Win32Exception”类型的异常出现在 System.Windows.Forms.dll 中。

其他信息: 创建窗口句柄时出错。

代码:
MainForm.ControlAll.Controls.Clear();
MainForm.ControlAll.SuspendLayout();
NIT nit = new NIT();
nit.Width = MainForm.ControlAll.Width;
nit.Height = MainForm.ControlAll.Height;
MainForm.ControlAll.Controls.Add(nit); ←// 出错位置
MainForm.NotePanelAll.Text = "NIT ";
MainForm.ControlAll.ResumeLayout();
MainForm.ControlAll.Parent.ResumeLayout();

MainForm.ControlAll声明的一个静态的容器。
nit是一个用户控件。

先谢了。


[解决办法]
从这些好像看不出什么问题,会不会NIT里面内存管理有问题?比如释放不干净?
[解决办法]
帮顶
[解决办法]
看不出来问题。有没有inner Exception?还有把Stacktrace贴出来吧
[解决办法]
关注
[解决办法]
up
[解决办法]
是不是内存不够用了?把虚拟内存设大一些试试。
[解决办法]

[解决办法]
up
[解决办法]
up
[解决办法]
MainForm.ControlAll.Controls.Add(nit);
最好不要用静态的,建议用代理写一个MainForm的自定义事件,这个进程向MainForm发送一个事件,通知MainForm来clear容器
还有,最好可以监控一下你的内存,有可能是内存问题
如果不是太紧要的话,试试断点调试状态下运行程序,

读书人网 >C#

热点推荐