首页 > 解决方案 > Win32Exception 的原因:“创建窗口句柄时出错”,即使句柄数和 GDI 对象小于 10.000

问题描述

我尝试将用户控件添加到面板中,如下面的代码片段所示。它可以工作几次。仅当我尝试将 InputElement 添加到面板的第六个“层次结构级别”时才会发生异常。我正在构建一棵不同设备的树来可视化测试站。树有多“宽”并不重要,它可以工作,但是如果我将高度或更确切地说树深度增加到六,就会发生异常。

我已经检查了几次我的句柄、GDI 对象等,但它们远远低于最大数量。当我重现异常时,句柄数约为 800 个句柄。所以我真的不知道为什么它不起作用。该异常的其他原因是什么?

if(dropPanel.Controls.Count > 0)
    foreach(Control control in dropPanel.Controls)
        control.Dispose();
InputElement = new TeststationElement(OutputElement, output) { Dock = DockStyle.Fill };
dropPanel.Controls.Add(InputElement);

我尝试添加什么控件也没关系。一个简单的文本框也不起作用。我查看了整个代码,处理了对象,但无论如何都会发生错误......

标签: c#winforms

解决方案


推荐阅读