窗体上有30多个控件,除了有几个GroupBox外没有其他容器,怎么this.Controls.Count等于10?

解决方案 »

  1.   

    this.Controls 不包含 容器里的控件..
      

  2.   

    仅含Form内的顶控件,不含容器控件中的控件
      

  3.   

    那我要是想取得GroupBox包含的控件怎么办?
      

  4.   

    还要加上 GroupBox.Controls.Count
      

  5.   

    把控件都看成XML节点。
    this.Controls只不过是root下第一级节点罢了。如果要取得全部节点,就要遍历。
      

  6.   

    Form1()
    {
      FindControls(this);
    }void FindControls(Control ctl)
    {
      foreach (Control c in ctl.Controls)
      {
        // 在此处 对 c 进行操作
        
        if (c.HasChildren) FindControls(c); // 如果是容器,递归地寻找子控件。
      }
    }