选中另一个复选框时灰显一个复选框

时间:2012-06-14 12:24:01

标签: c#

基本上,我有一个交付复选框列表,一个用于传送到此地址,另一个用于传送到单独的地址,我基本上想要这样做,一旦检查了一个,另一个无法检出(也许是通过灰色它或某些东西沿着这些线)

请注意,两个方框都使用相同的控件。

2 个答案:

答案 0 :(得分:6)

使用类似这样的方法收听第一个CheckBox的CheckedChanged事件:

private void checkBox1_checkedChanged(object sender, EventArgs e)
{
    this.checkBox2.Enabled = !this.checkBox1.Checked;

    // If you want it to be unchecked as well as grayed out,
    // then have this code as well:
    if (!this.checkBox2.Enabled)
    {
        this.checkBox2.Checked = false;
    }
}

但如果逻辑上符合您的需要,您应该考虑使用RadioButtons而不是CheckBoxes。

答案 1 :(得分:0)

使用以下代码

checkboxToBeGreyed.Enabled = false;

您已将此代码写入其他复选框的已检查事件中。希望这会有所帮助。