本帖最后由 william0992 于 2013-12-06 11:50:52 编辑

解决方案 »

  1.   


    Control c = this.Controls.Find("checkBox1", true)[0];
    (c as CheckBox).CheckedChanged += new EventHandler(
             (sender1, e1) =>
             {
                //
             }
         );你控件每组控件考什么关联??
    是已经做了自定义控件?
    还是不同窗体都叫这些名字?
    如果没有什么关联性就得自己做对应了
      

  2.   

    没有什么关联,我就是名字起的相似:a,a1,a2;b,b1,b2;c,c1,c2;这样的而已,
    其中纯字母的是checkbox控件,字母后面带数字的是textbox控件。
    我也不知道怎么关联起来,知识都丢的差不多了
    我想做的是,如果a被选中,获取a的text值赋值给richtextbox控件,获取a1和a2的text值计算,计算结果赋值给tichtextbox控件;
    因为我有很多组这样的控件,我就想能不能直接写一个方法,遍历完checkbox一次搞定。
    然后,不知道怎么去实现了
      

  3.   

    有一种方法就是,在name勾选时,触犯一个事件用来更改name1和name2的勾选状态,以下是代码
      private void checkBox1_CheckedChanged(object sender, EventArgs e)
            {
                try
                {
                    if (this.name.Checked)
                    {
                        this.name1.Checked = true;
                        this.name2.Checked = true;
                    }
                }
                catch (Exception es)
                {
                    MessageBox.Show(es.Message);
                }
            }这就可以了
      

  4.   

    Quote: 引用 5 楼 chenjiazheng009 的回复:

    额。name1和name2是textbox控件。
      

  5.   

    道理一样的呀,选中后,你对name1和name2进行操作不就行了,不知道名称可以在选中后 遍历当前页面控件
      

  6.   

    把字符串转换成控件名
    Control  c=this.Controls.Find("controlname",true)[0];
    你只要把控件名的字符串拼好就行了
      

  7.   

    写个简单小例子private void button2_Click(object sender, EventArgs e)
    {
        for (int i = Convert.ToInt32('a'); i <= Convert.ToInt32('z'); i++)
        {
            test(this, Convert.ToChar(i).ToString(), Convert.ToChar(i) + "1", Convert.ToChar(i) + "2");
        }
    }void test(Form frm, string chk, string txt1, string txt2)
    {
        Control c = frm.Controls.Find(chk, true)[0];
        (c as CheckBox).CheckedChanged += new EventHandler(
                 (sender1, e1) =>
                 {
                     (frm.Controls.Find(txt1, true)[0] as TextBox).Text = "啦啦啦";
                     (frm.Controls.Find(txt2, true)[0] as TextBox).Text = "德玛西亚";
                 }
             );
    }
      

  8.   

    你把第一组的名称定义成一个枚举或数组
    定义一控件参数
    循环调出
    {
        for(1...N)
        用this.FINDCO..后面忘了 按名字找到这个控件
        然后赋值(取数也一样)
    }