获取控件组合后,统一进行处理。
public static class ControlExtension { public static IEnumerable<T> CollectControls<T>(this Control control) { var controls = control.Controls.OfType<T>(); foreach (var item in controls) { yield return item; } foreach (Control subControl in control.Controls) { var resultControls = CollectControls<T>(subControl); foreach (var item in resultControls) { yield return item; } } } }