我有一个窗体MainForm,它是一个包含许多子控件的Windows窗体表单.我想调用一个函数MainForm来通知它的所有孩子.Windows窗体表单是否提供了执行此操作的方法?我玩更新,刷新和无效,但没有成功.
foreach (Control ctrl in this.Controls)
{
// call whatever you want on ctrl
}
Run Code Online (Sandbox Code Playgroud)
如果要访问表单上的所有控件,以及表单上每个控件的所有控件(依此类推,递归),请使用如下函数:
public void DoSomething(Control.ControlCollection controls)
{
foreach (Control ctrl in controls)
{
// do something to ctrl
MessageBox.Show(ctrl.Name);
// recurse through all child controls
DoSomething(ctrl.Controls);
}
}
Run Code Online (Sandbox Code Playgroud)
...通过最初传入表单的Controls集合调用,如下所示:
DoSomething(this.Controls);
Run Code Online (Sandbox Code Playgroud)