为什么我的TextBox不被计算在内?

时间:2015-07-06 20:03:28

标签: c# .net forms textbox system.web.ui.webcontrols

我正在尝试更改表单中Text中的TextBoxes,但我无法找到如何在不单独执行的情况下对所有TextBoxes进行说明。

我尝试过以下代码;但是,我的int i会返回0

int i = 0;

foreach (Control c in this.Controls)
{
    if (c.GetType().ToString() == "System.Web.UI.WebControls.TextBox")
    {
        i++;
        ((TextBox)c).Text = CleanInput(((TextBox)c).Text);
    }
}

我对如何抓住所有TextBoxes并检查它们感到困惑......

2 个答案:

答案 0 :(得分:2)

试试这个:

int i = 0;

foreach (Control c in this.Controls)
{
   if (c is TextBox)
    {
       i++;
       ((TextBox)c).Text = CleanInput(((TextBox)c).Text);
    }
}

答案 1 :(得分:1)

如果所有TextBox都不是"这个"的孩子,请使用递归方法:

CleanTextBoxes(this)

private void CleanTextBoxes(Control TheControl)
{ 
  foreach (Control c in TheControl.Controls)
  {
    if (c is TextBox) ((TextBox)c).Text = CleanInput(((TextBox)c).Text);
    else CleanTextBoxes(c) ;
   }
}