多個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/