В настоящее время я столкнулся с очень странной проблемой. Я просто хочу удалить все элементы управления из группового поля, но это не удаляет все элементы управления. Сейчас это действительно похоже на ошибку со стороны Microsoft. Я пробовал много разных способов удаления этих элементов управления, но ни один из них не работал. У меня есть два других метода, в которых я удаляю только один элемент управления за раз (и нет, я не могу вызвать это в цикле для всех своих элементов управления), и там он работает нормально. Я понятия не имею, в чем может быть проблема. Надеюсь, кто-то знает способ обойти это.
foreach (Control c in fieldBox.Controls) // this does not work, it only removes my labels (I have one txt and one lbl)
fieldBox.Controls.Remove(c);
for (int i = 0; i < fieldBox.Controls.Count; i++) // this does not work either
fieldBox.Controls.Remove(fieldBox.Controls[i]);
for (int i = 0; i < fieldBox.Controls.Count; i++) // still no success
fieldBox.Controls.RemoveAt(i);
for (int i = 0; i < fieldBox.Controls.Count; i++) // nope
fieldBox.Controls.RemoveByKey(fieldBox.Controls[i].Name);
foreach (Control c in fieldBox.Controls) // my final answer, but the outcome did not change
fieldBox.Controls.RemoveByKey(c.Name);
does not work
? Выдается ошибка? Изменение коллекции во время ее зацикливания обычно не удается. Лучше всего сохранить элемент управления, а затем удалить его. - person crthompson   schedule 15.04.2015