У меня есть подпрограмма, в которой я рекурсивно перебираю все элементы управления в форме и обрабатываю некоторый код на некоторых из них.
Я добавляю и удаляю элементы управления с помощью экрана в зависимости от выбора пользователя.
Я обнаружил, что panel.Controls.Remove(control1)
на самом деле не удалял его из формы. Когда я запускал процедуру, которая рекурсивно проходит по элементам управления в форме, элемент управления, который, как я думал, я удалил, все еще находился.
Это не "исчезло", пока я не сделал:
panel.Controls.Remove(control1);<br>
this.Controls.Remove(control1)
Это ожидается? Может кто-нибудь объяснить мне это или указать мне где-нибудь, что объясняет поведение управления в Windows Forms.
Спасибо!