Причины Win32Exception: «Ошибка создания дескриптора окна», даже если handleCount и объекты GDI меньше 10.000 - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь добавить пользовательский элемент управления на панель, как в приведенном ниже фрагменте кода. Это работает несколько раз. Исключение возникает только тогда, когда я пытаюсь добавить 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);

Также не имеет значения, какой контроль я пытаюсь добавить. Простое текстовое поле также не работает. Я просмотрел весь код, удалил объекты, но ошибка все равно возникает ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...