[C#] 多個CheckBox實現單選功能

  • 7142
  • 0

多個CheckBox實現單選功能

最近很少上來發表新文章

剛好同事問到一個問題

如何使用多個CheckBox又可以使用單選功能

基於幾個原因不能使用CheckBoxList也不可用RadioButton

不多說很簡單把多個CheckBox放在一個容器內(Panel or GroupBox...)

然後在每個GroupBox的CheckedChanged Event都指定到以下的Source Code Event即可

原理很簡單:

是判斷此物件(CheckBox)如為checked

會去跑此物件(CheckBox)的父層(Panel or GroupBox...)裡面所有的CheckBox

並把非使用者點選物件(CheckBox)通通改成unchecked

 

        private void ckb_CheckedChanged(object sender, EventArgs e)
        {
            if ((sender as CheckBox).Checked == true)
            {
                foreach (CheckBox chk in (sender as CheckBox).Parent.Controls)
                {
                    if (chk != sender)
                    {
                        chk.Checked = false;
                    }
                }
            }
        }

 

 

 






Y2J's Life:http://kimenyeh.blogspot.tw/