from1 里面有几个 groupBox1 , groupBox2, groupBox3.....
 groupBox1 又有几个checkBoxgroupBox2也有几个checkBoxgroupBox3也有几个checkBox想遍历窗体下 groupBox 里面的checkBox的checked 状态...向各位请教..谢谢...

解决方案 »

  1.   

    你可以把3组checkbox放入groupbox, panel 等container中,checkbox的索引值放入 tabindex或tag中,则程序很简洁。            //遍历CheckBox方法1
                foreach (Control c in groupBox1.Controls)//遍历groupBox1内的所有控件
                {
                    if (c is CheckBox)//只遍历CheckBox控件 
                    {
                        ((CheckBox)c).Checked = (pdwPortVal & (1 << (checkBox8.TabIndex - c.TabIndex))) != 0;
                    }
                }
                //遍历CheckBox方法2
                /*
                for (int i = 8; i >= 1; i--)
                {
                    ((CheckBox)this.Controls.Find("checkBox" + i, true)[0]).Checked = (pdwPortVal & (1 << (8 - i))) != 0;
                } 
      

  2.   


    foreach(Control ctrl in this.Controls)
    {
        if(ctrl is GroupBox)
        {
            GroupBox gb = ctrl as GroupBox;
            foreach(Control c in gb.Controls)
            {
                if(c is CheckBox)
                {
                    CheckBox cb = c as CheckBox;
                    if(cb.Checked)
                    {
                         // to do...
                    }
                }
            }
        }
    }
      

  3.   

    foreach(Control ctrl in this.Controls)
    {
    if (ctrl is GroupBox)
    {
    foreach(Control ctrl2 in (ctrl as GroupBox).Controls)
    {
    if (ctrl2 is CheckBox)
    {
    MessageBox.Show(ctrl2.Name + "," + (ctrl2 as CheckBox).Checked.ToString());
    }
    }
    }
    }
      

  4.   

            void FindCheckBox(Control ctrl)
            {
                foreach (Control c in ctrl.Controls)
                {
                    if (c is checkBox)
                        MessageBox.Show(c.Name);
                    else if (c.HasChildren)
                        FindCheckBox(c);
                }
            }
      

  5.   

    foreach(textbox tb in controls)
    {}就这样遍历咯