Существует несколько потоков (a, b, c и т.д.) о факте, которые Очищаются (), объекты луга в контейнерах компонента.NET не Располагают их (вызовом, Располагают (верный).
Наиболее часто, по моему скромному мнению, Очищенные компоненты больше не используются в приложении, таким образом, оно должно явно быть Расположенным после Очистки их от родительских контейнеров.
Возможно, хорошая идея что набор Clear
метод имел bool параметр dispose
это, когда в истинном также располагает элементы набора перед его удалением из списка?
Спрашивать о подобных изменениях бессмысленно, команда Windows Forms была распущена довольно давно. Она находится в режиме сопровождения, рассматриваются только вопросы безопасности и несовместимости операционных систем.
Иначе достаточно просто создать свой собственный метод для этого:
public static class ExtensionMethods {
public static void Clear(this Control.ControlCollection controls, bool dispose) {
for (int ix = controls.Count - 1; ix >= 0; --ix) {
if (dispose) controls[ix].Dispose();
else controls.RemoveAt(ix);
}
}
}
Теперь Вы можете написать:
panel1.Controls.Clear(true);