|
チェックされているチェックボックスの数を保持するメンバ変数を作って、
それが1かどうかで「どれか一つでもチェックが入ったら」としてはどうでしょうか?
適当な例)
public int checkCount;
public void Form1_Load(object sender, EventArgs e)
{
// 3つのチェックボックスのCheckedChangedイベントを割付
this.checkBox1.CheckedChanged += new EventHandler(checkBox_CheckedChanged);
this.checkBox2.CheckedChanged += new EventHandler(checkBox_CheckedChanged);
this.checkBox3.CheckedChanged += new EventHandler(checkBox_CheckedChanged);
// 初期値は無チェックに
this.checkCount = 0;
}
public void checkBox_CheckedChanged(object sender, EventArgs e)
{
if (((CheckBox)sender).Checked)
{
// チェックしたチェックボックスをインクリメント
this.checkCount++;
// 既にチェックが入っていると checkCount は1より大きい値になる
if (this.checkCount != 1)
return;
// 以降が「どれか一つでもチェックが入ったら」ということになる
MessageBox.Show("First Checked!");
}
else
{
// チェックしたチェックボックスをデクリメント
this.checkCount--;
}
}
|