I know how to find and collect a list of all the controls used in a Windows Form.
Something like this:
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);
}
}
}
However this function does not retrieve the non-visual components on the bottom of the form like the HelpProvider, ImageList, TableAdapters, DataSets, etc.
Is there a way to get the list of these components as well?
Edit:
Thanks @HighCore for pointing me to use System.ComponentModel.Component instead in a similar function does get me a list with components such the ImageList, the Help Provider and the BindingSource.
However, I still miss from this list the TableAdapters and the DataSets. I suppose because those inherit directly from Object.
Please. Don't refer me to older posts which shows a similar function to mine and that only gets the list of the controls.
Edit: Why the negative votes? This question has never been answered before!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…