我有一个表单MainForm,它是一个包含许多子控件的Windows窗体表单.我想在MainForm上调用一个通知其所有子节点的函数. Windows窗体表单是否提供了执行此操作的方法?我玩更新,刷新和无效,但没有成功.
解决方法:
foreach (Control ctrl in this.Controls)
{
// call whatever you want on ctrl
}
如果要访问表单上的所有控件,以及表单上每个控件的所有控件(依此类推,递归),请使用如下函数:
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);
}
}
…通过最初传入表单的Controls集合调用,如下所示:
DoSomething(this.Controls);