Удаление элемента управления с панели не удаляет его из формы? - PullRequest
1 голос
/ 10 января 2012

У меня есть подпрограмма, в которой я рекурсивно перебираю все элементы управления в форме и обрабатываю некоторый код на некоторых из них.

Я добавляю и удаляю элементы управления с помощью экрана в зависимости от выбора пользователя.

Я обнаружил, что panel.Controls.Remove(control1) на самом деле не удалял его из формы. Когда я запускал процедуру, которая рекурсивно проходит по элементам управления в форме, элемент управления, который, как я думал, я удалил, все еще находился.

Это не "исчезло", пока я не сделал:

panel.Controls.Remove(control1);<br> this.Controls.Remove(control1)

Это ожидается? Может кто-нибудь объяснить мне это или указать мне где-нибудь, что объясняет поведение управления в Windows Forms.

Спасибо!

1 Ответ

3 голосов
/ 11 января 2012

Очевидно, что элемент управления имеет форму своего Родителя, а не панели.Подобные происшествия, как правило, происходят легко с дизайнером.Вы можете использовать View + Other Windows + Document Layout, чтобы получить хорошее представление об отношениях ребенка и родителя.Вы можете использовать перетаскивание в этом списке, чтобы исправить.

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