Найти компоненты в форме окна C # (не элементы управления)
Я знаю, как найти и собрать список всех элементов управления, используемых в форме Windows. Что-то вроде этого:
static public void FillControls(Control control, List 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 и т. Д.
Есть ли способ получить список этих компонентов?
Редактировать:
Спасибо @HighCore за указание использовать System.ComponentModel.Component вместо этого в аналогичной функции, и я получаю список с такими компонентами, как ImageList, поставщик справки и BindingSource. Тем не менее, я все еще пропускаю из этого списка TableAdapters и DataSets. Я полагаю, потому что те наследуют непосредственно от объекта.
пожалуйста, Дон»Я имею в виду старые посты, в которых показана функция, аналогичная моей, и которая получает только список элементов управления.
Редактировать: Почему отрицательные голоса? На этот вопрос никогда раньше не отвечали!