for (int ix = flowLayoutPanel1.Controls.Count - 1; ix >= 0; --ix) { var ctl = flowLayoutPanel1.Controls[ix]; flowLayoutPanel1.Controls.Remove(ctl); ctl.Dispose(); }
Потому что делать так не надо. Спроси как работают коллекции и их энумераторы и тебе тут распишут. Хочешь удалить все контролы, пройди через for как ты и сделал.
Потому что делать так не надо. Спроси как работают коллекции и их энумераторы и тебе тут распишут. Хочешь удалить все контролы, пройди через for как ты и сделал.
Ну по идее должны работать правильно) на то он и форич
Потому что делать так не надо. Спроси как работают коллекции и их энумераторы и тебе тут распишут. Хочешь удалить все контролы, пройди через for как ты и сделал.
for (int ix = flowLayoutPanel1.Controls.Count - 1; ix >= 0; --ix) { var ctl = flowLayoutPanel1.Controls[ix]; flowLayoutPanel1.Controls.Remove(ctl); ctl.Dispose(); }
Вот итоговый вариант, котоырй работает как надо
Ты понимаешь, что ссылка на контрол у тебя все равно сохраняется?