Encontrar componentes em um formulário do windows c # (não controles)
Eu sei como encontrar e coletar uma lista de todos os controles usados em um formulário do Windows. Algo assim:
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);
}
}
}
No entanto, essa função não recupera os componentes não visuais na parte inferior do formulário, como o HelpProvider, ImageList, TableAdapters, DataSets, etc.
Existe uma maneira de obter a lista desses componentes também?
Editar:
Obrigado @HighCore por apontar-me para usar System.ComponentModel.Component em vez disso, em uma função semelhante, obtém-me uma lista com componentes como o ImageList, o Provedor de Ajuda e o BindingSource. No entanto, ainda sinto falta desta lista os TableAdapters e os DataSets. Eu suponho porque aqueles herdam diretamente do objeto.
Por favor. Não me encaminhe para posts mais antigos que mostrem uma função semelhante à minha e que só receba a lista dos controles.
Editar: Por que os votos negativos? Esta questão nunca foi respondida antes!