你用的方法不合理,如果第1个和第2个同时被选中的话代码只会执行
if(this.checkBox1.Checked)
{
MessageBox.Show("一选中 二将选");
this.checkBox2.CheckState = CheckState.Checked;
return;
}
这就是为什么不管如何点击,第三个不会被选中的原因。
改成:
private void button2_Click(object sender, System.EventArgs e)
{
if(this.checkBox1.Checked && (!this.checkBox2.Checked))
{
MessageBox.Show("一选中 二将选");
this.checkBox2.CheckState = CheckState.Checked;
return;
}
if(this.checkBox2.Checked(!this.checkBox3.Checked))
//else
{
MessageBox.Show("二选中 三将选");
this.checkBox3.CheckState = CheckState.Checked;
return;
}
if(this.checkBox3.Checked)
{
MessageBox.Show("三选中 四将选");
this.checkBox4.CheckState = CheckState.Checked;
return;
}
this.checkBox1.CheckState = CheckState.Checked;
}