我有一个窗体;它有几个控件。
我想让它们在foreach循环中调用每个控件的Clear()方法,使其清晰并重新初始化项目。
我该怎么做?**
当我在Vs 2008的调试模式上看到formpage时,我看到了“this”,因此我可以在里面看到所有这些......
.net版本:2.0
答案 0 :(得分:2)
您可能对控件等控件有控件。因此将Dmitry Erokhin的代码放在递归函数中可能是个好主意:
private void ClearNumberEntries(ControlCollection controls)
{
foreach (Control ctrl in controls)
{
if (ctrl is NumberEntry)
{
((NumberEntry)ctrl).Clear();
}
//if you are sure a NumberEntry can never have child controls that could also be of type NumberEntry you can put this in an else in stead
ClearNumberEntries(ctrl.Controls);
}
}
答案 1 :(得分:1)
您可以迭代这样的控件:
foreach (Control ctrl in this.Controls)
{
if (ctrl is NumberEntry)
{
((NumberEntry)ctrl).Clear();
}
}
答案 2 :(得分:0)
再次初始化控件无需清除每个控件,只需清除窗体中的控件并调用InitializeComponent()
private void InitializeControls()
{
this.Controls.Clear();
InitializeComponent();
}