TableLayoutPanel tabPanel = (TableLayoutPanel)this.panel1.Controls[0];tabPanel.RowCount = (iClickedTimes + 1) * 2;  //再增两行          无法将类型为“System.Windows.Forms.Button”的对象强制转换为类型“System.Windows.Forms.TableLayoutPanel”

解决方案 »

  1.   

    TableLayoutPanel tabPanel = this.panel1.Controls[0]  as   TableLayoutPanel;
     if(tabPanel!=null)
    {
    //不知道你要干什么
    }
      

  2.   

    首先,你必须保证this.panel1.Controls[0]是TableLayoutPanel 才行,如果不是,那么就必须遍历panle1上的组件,逐个判断            for (int i = 0; i < this.Controls.Count - 1; i++)
                {
                    if (this.Controls[i] is TableLayoutPanel)
                    {
                       //这里处理
                    }
                }
      

  3.   


    TableLayoutPanel t= this.panel1.Controls[0] as TableLayoutPanel;
    if(t!=null)
    {
    t.RowCount = (iClickedTimes + 1) * 2; 
    }
      

  4.   

    this.panel1.Controls[0]是button
    遍历foreach(Control c in this.panel1.Controls){}判断类型
      

  5.   

    this.panel1.Controls[0]不是panel。先遍历再判断,然后再做操作。
      

  6.   

    这说明 this.panel1.Controls[0] 是个 buttonforeach(Control ctrl in this.panel1.Controls)
    {
      if(ctrl is TableLayoutPanel) {...} // 前提是 TableLayoutPanel 在 panel1 中
    }