체크박스는 다중클릭을 위한 용도이지만,
라디오 기능처럼 하나만 클릭하려고 사용할 수도 있습니다.
여러가지 방법이 있겠지만, 제가 사용하는 방법은 다음과 같습니다.
1. 체크박스를 리스트에 저장한다.
2. 입력이벤트를 사용하기 위해 체크박스 타입으로 형변환한다.
3. 반복문을 사용하여 전달된 입력이벤트와 리스트에 저장된 체크박스들을 비교한다.
4. 입력이벤트를 제외한 나머지 체크박스들을 해제한다.
private void CheckBox_CheckedChanged(object sender, EventArgs e)
{
List<CheckBox> list = new List<CheckBox>()
{
CheckBox1, CheckBox2, CheckBox3, CheckBox4, CheckBox5
};
CheckBox box = (CheckBox)sender;
foreach (var v in list)
{
if (box.Checked)
{
if (box.Name == v.Name)
continue;
v.CheckState = CheckState.Unchecked;
//v.Checked = false;
}
}
}