Идём дальше foreach (Control control in flowLayoutPanel1.Controls) { flowLayoutPanel1.Controls.Remove(control); control.Dispose(); }
Не удаляет все контролы, а только чётные!
Ну даже и тут. При следующей иттерации фоича переменная control создается заново и ей присваивается ссылка на следующий элемент из flowLayoutPanel1.Controls
Ну даже и тут. При следующей иттерации фоича переменная control создается заново и ей присваивается ссылка на следующий элемент из flowLayoutPanel1.Controls
Там удаление элементов коллекции во время прохода по этой коллекции.