我有WinForm
项目,该项目使用SpellBoxes
中的WPF
。我现在正在创建一个函数来清除我的所有字段和类中的TextBoxes。 textBoxes
实际上SpellBoxes
已集成到项目中,这就是为什么我认为我遇到了这个问题。根据我的理解,最好通过循环遍历所有控件来实现这一点:
public void ClearControls()
{
foreach (Control control in panel1.Controls)
{
if (control is SpellBox)
{
SpellBox txt = (SpellBox)control;
txt.Text = "";
}
}
}
然后调用点击事件ClearControls();
然而由于我使用了SpellBoxes,我似乎无法迭代,就好像它们甚至都没有被识别出来一样。上面的函数适用于TextBox,但不适用于spellBox’s
。如果有人能给我一些关于为什么会发生这种情况的迹象,我将不胜感激。提前致谢
答案 0 :(得分:0)
递归搜索的快速示例:
public void ClearControls(Control cntr)
{
foreach (Control control in cntr.Controls)
{
if (control is SpellBox)
{
control.Text = "";
}
else if(control.HasChildren)
{
ClearControls(control);
}
}
}
您可以通过this
传递表单本身来启动它:
ClearControls(this);