如果选中一个复选框,则将另一个设置为未选中

Ben*_*Ben 4 c# checkbox winforms

我的表单上有两个复选框; chkBuriedchkAboveGround.我想设置它,如果选中一个,则另一个未选中.我怎样才能做到这一点?

我试过这个CheckChanged属性:

private void chkBuried_CheckedChanged(object sender, EventArgs e)
{
    chkAboveGround.Checked = false;
}
private void chkAboveGround_CheckedChanged(object sender, EventArgs e)
{
    chkBuried.Checked = false;
}
Run Code Online (Sandbox Code Playgroud)

它起作用,就像我希望的那样好.也就是说,当我检查chkBuried,然后检查时chkAboveGround,两个框都变得未经检查,然后我再次检查另一个.

Riz*_*Riz 10

修改你的代码如下.

private void chkBuried_CheckedChanged(object sender, EventArgs e)
{
    chkAboveGround.Checked = !chkBuried.Checked;
}
private void chkAboveGround_CheckedChanged(object sender, EventArgs e)
{
    chkBuried.Checked = !chkAboveGround.Checked;
}
Run Code Online (Sandbox Code Playgroud)


小智 5

我建议你使用 check_click 而不是 check_changed

        private void checkBox1_Click(object sender, EventArgs e)
        {
            checkBox2.Checked = false;
            checkBox3.Checked = false;
        }

        private void checkBox2_Click(object sender, EventArgs e)
        {
            checkBox1.Checked = false;
            checkBox3.Checked = false;
        }

        private void checkBox3_Click(object sender, EventArgs e)
        {
            checkBox1.Checked = false;
            checkBox2.Checked = false;
        }
Run Code Online (Sandbox Code Playgroud)