Controls-Collection in Winforms-Controls will give you a list of all direct children. With a simple recursive function you will be able to find all controls available in control.
// helper class
internal static class WinformsHelper
{
public static List<Control> FindAllControls(this Control control)
{
var result = new List<Control> {control};
foreach (var ctrl in control.Controls.Cast<Control>()) result.AddRange(FindAllControls(ctrl));
return result;
}
}
....
public class MyForm : Form
{
....
public void FindControls()
{
var allControls = this.FindAllControls();
}
}