Попытка заменить Controls.Clear (), чтобы избежать утечки памяти, не работает - почему?

Я заменил:

panel.Controls.Clear();

с участием:

Clear(panel);

Где:

public static void Clear(Control ctrl)
{
    while (ctrl.Controls.Count > 0) ctrl.Controls[0].Dispose();
}

И я получаю следующую ошибку: вApplication.Run(new Form1()); System.ObjectDisposedException не обработан. Не удается получить доступ к удаленному объекту. Название объекта: «Метка».

Есть идеи, почему это может быть?

Благодарю.

РЕДАКТИРОВАТЬ: см.Как очистить () элементы управления без утечки памяти

РЕДАКТИРОВАТЬ: Извините, я, вероятно, избавиться от чего-то, что я просто хочу удалить из его родителей. Я проверю это. Спасибо за ответы.

Ответы на вопрос(3)

Ваш ответ на вопрос