因为你窗体中还有button啊,你把所有控件都当成textbox去遍历,能不出错么
改用for循环,判断一下控件类型

解决方案 »

  1.   

    for(int i=0;i<this.Controls.Count;i++)
    {
    if(this.Controls[i] is TextBox)
    {
    //代码
    }
    }
      

  2.   


                   foreach (Control s in this.Controls)
                    {
                          if(s is TextBox )
                         {
                                    MessageBox.Show((s as TextBox ).Text);
                         }
                    }
      

  3.   

    无法将类型为“System.Windows.Forms.Button”的对象强制转换为类型“System.Windows.Forms.TextBox”。遍历的时候把Button也强制转换了,这就错了遍历的时候最好加上一个类型判断foreach (var s in this.Controls)
                    {
                        if (s.GetType() == typeof(System.Windows.Forms.TextBox))
                         {
                              .......
                         }
                    }
      

  4.   

    this.Controls  包含了界面的所有控件   除非你的界面只有TextBox控件才能这么用
      

  5.   

    动态加载到TABCONTROL上的TEXTBOX 这个控件 遍历不到,只能遍历到加到WINFORM窗体上的那个TEXTBOX控件,
     
    而事实应该有2个TEXTBOX,,但是只遍历到一个
      

  6.   

    foreach (System.Windows.Forms.Control control in this.ribbonPanel1.Controls)//遍历Form上的所有控件   
                    {
                        if (control is DevComponents.DotNetBar.RibbonBar)
                        {
                            DataTable dt = GlobalClass.UserInfo.UserAction.Tables["ActionMenu"];
                            DataRow[] rowsPanel1 = dt.Select("ActionName = '" + control.Text + "'");
                            if (rowsPanel1.Length > 0)
                            {
                                if (rowsPanel1[0].ItemArray[2].ToString() == "False")
                              {
                                  control.Hide();
                              }
                            }
                        }
                    }
      

  7.   

    动态加载到TABCONTROL上的TEXTBOX 这个控件 遍历不到,只能遍历到加到WINFORM窗体上的那个TEXTBOX控件,
     
    而事实应该有2个TEXTBOX,,但是只遍历到一个
    你的报错不是因为动态加载报的错
    动态加载有一个时间,你遍历的时候如果没加上自然就遍历不到
      

  8.   

    你遍历到button的时候直接报错了,当然遍历不到另一个