可能重复:
如何获得胜利形式的所有控制?
我有一个如下图所示的winform。
我想要一个 MainForm 的所有控件的列表。
像这样:
MainForm
Button1
Panel1
TextBox1
Panel2
Button2
TextBox2
可能重复:
如何获得胜利形式的所有控制?
我有一个如下图所示的winform。
我想要一个 MainForm 的所有控件的列表。
像这样:
MainForm
Button1
Panel1
TextBox1
Panel2
Button2
TextBox2
像这样的东西应该可以工作(无论如何都不是完美的代码......只是为了传达这个想法):
public IEnumerable<Control> GetSelfAndChildrenRecursive(Control parent)
{
List<Control> controls = new List<Control>();
foreach(Control child in parent.Controls)
{
controls.AddRange(GetSelfAndChildrenRecursive(child));
}
controls.Add(parent);
return controls;
}
var result = GetSelfAndChildrenRecursive(topLevelControl)