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