Я знаю, как найти и собрать список всех элементов управления, используемых в Windows Form. Что-то вроде этого:
static public void FillControls(Control control, List<Control> AllControls)
{
String controlName = "";
controlName = control.Name;
foreach (Control c in control.Controls)
{
controlName = c.Name;
if ((control.Controls.Count > 0))
{
AllControls.Add(c);
FillControls(c, AllControls);
}
}
}
Однако эта функция не извлекает невизуальные компоненты в нижней части формы, такие как HelpProvider, ImageList, TableAdapters, DataSets и т.д.
Есть ли способ получить список этих компонентов?
Edit:
Спасибо @HighCore за то, что указали, что я использую System.ComponentModel.Component вместо этого в подобной функции, я получаю список с такими компонентами, как ImageList, Справочный провайдер и BindingSource. Тем не менее, я все еще пропускаю из этого списка TableAdapters и DataSets. Я полагаю, потому что те наследуют непосредственно от Object.
Пожалуйста. Не относитесь ко мне к более старым сообщениям, которые показывают аналогичную функцию для моего, и это только получает список элементов управления.
Изменить: Почему отрицательные голоса? На этот вопрос никогда не отвечали!