做一个系统软件,用到了5个checkbox,但是每次有且只有也必须有一个被选中,然后要用到这个被选中的内容,怎么写这个函数

解决方案 »

  1.   

    方便起见,可以为每个box设置不同的tag,然后当勾选时,触发事件中遍历窗体controls,然后判断是否是checkbox,如果tag不等于点中的(sender就是当前操作的这个),然后就只为false或者true,这个你判断一下就行
      

  2.   

    根据需求,那应该用RadioButton,放到一个容器控件内。
      

  3.   

    哈哈我也是新手这个我刚弄出来写得不好自己新增一个方法(我的CHECKBOX是我自己新定义的)
    public void ButtonStatus(string cButtonName, int nStartI, int nButtonCount, string cMyName)
            {
                if (this.fAreaID==null)
                {
                    this.fAreaID = "0";
                }
                if (this.fSta == null)
                {
                    this.fSta = "0";
                }
                Boolean lMyStatus = ((bArea)this.Controls[string.Format(cMyName)]).Checked;
                string cButtonName1 = "";
                switch (cButtonName)
                {
                    case "bArea":
                        this.fAreaID = ((bArea)this.Controls[string.Format(cMyName)]).fid;
                        break;
                    case "StaButton":
                        this.fSta = cMyName.Substring(9, cMyName.Length - 9);
                        break;
                }
                for (int i = nStartI; i <= nButtonCount; i++)
                {
                    cButtonName1 = cButtonName + i.ToString();
                    if (cButtonName1 != cMyName)
                    {
                        ((bArea)this.Controls[string.Format(cButtonName1)]).Checked = false;
                    }
                }
                if (this.fHaveDone != "Done")
                {
                    int nAreaID = Int32.Parse(this.fAreaID);
                    int nTableSta = Int32.Parse(this.fSta);
                    this.ShowTable(nAreaID, nTableSta, 0);
                }
            }在CHECKBOX中调用
    private void bArea1_Click(object sender, EventArgs e)
            {
                this.ButtonStatus("bArea", 1, 10, ((CheckBox)sender).Name);        }
      

  4.   

      
     bool isChecked=false;
              foreach (Control ct in this.Controls)
                {
                    if (ct is CheckBox)
                    {
                      
                        CheckBox ckb = ct as CheckBox;
                        if(ckb.Checked)
    {
    isChecked=true;
                        string text=ckb.Text;//得到选中CheckBox的内容
    }
                         
                          
                    }
                }      如果isChecked=false 就一个checkbox也没有选中 
      

  5.   

    要实现单选最简单就是用把一组radiobox放在像panel或groupbox里面;
    如果非要checkbox,感觉2楼的方法比较好。
      

  6.   

     <asp:RadioButton Checked="true" GroupName="name" ID="RadioButton1" runat="server" />
                <asp:RadioButton GroupName="name" ID="RadioButton2" runat="server" />
                <asp:RadioButton GroupName="name" ID="RadioButton3" runat="server" />
                <asp:RadioButton GroupName="name" ID="RadioButton4" runat="server" />
                <asp:RadioButton GroupName="name" ID="RadioButton5" runat="server" />
    还是用RadioButton吧,方便,拖5个控件,然后设置GroupName为一样的,设置其中一个的Checked为true就可以满足你的需求了。
      

  7.   

    RadioButtonlist 不就完事了么?设置个默认值就可以了。
      

  8.   

    用RadioButton吧 默认是在同一组
    想要多组 设置groupID值相同即可(印象里是GroupID)