试试void DisableAllTextBoxText(Control c)
{
  if (c is TextBox)
   {
   ((TextBox)c).Enable=false;
   }
  else if (c.Controls.Count > 0)
   {
      foreach (Control cc in c.Controls)
          {
          DisableAllTextBoxText(cc);
          }
}//调用
DisplayText(YourFormID);

解决方案 »

  1.   

    foreach(Control control in this.Controls[0].Controls)
    {
    if(control is TextBox)
    {
    (control as TextBox).Visible= false;
    }
    }
      

  2.   

    如果在SERVER端,需要递归调用来禁止,如果是在CLIENT(浏览器中),则:for(i=0;document.all.length;i++)
      if(document.all[i].tagName=="INPUT")
        document.all[i].style.disabled=true;
      

  3.   

    理论上是可以的 但是实际上有困难 应为你不能保证你所有的控健处于同一个control层,
    如果一定要实现 只能从form开始对control进行地归 判断控健的类型(GetTypeCode)强转换后禁止