有时间的达人们查一下错误根源,顶着有分!!!!!
在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容器
还有,最好可以监控一下你的内存,有可能是内存问题
如果不是太紧要的话,试试断点调试状态下运行程序,