问题:
先后出现两个错误
Error creating window handle.创建窗口句柄时出错。
当前程序已使用了 Window 管理器对象的系统允许的所有句柄
分析:
在更新数据时,会清除旧数据包含用户控件,然后重新创建控件显示数据
清除控件的代码为panel.Controls.Clear();
直接移除控件,而没有释放资源
而Windows对单个程序的句柄限制为1W。
导致程序句柄不足,从而导致创建窗口句柄时出错
解决:
移除控件前,先释放资源
//释放资源
foreach (Control item in panel.Controls)
{
item.Dispose();
}
//移除控件
panel.Controls.Clear();