第二个复选框取决于另一个复选

时间:2018-04-16 11:33:07

标签: c# winforms checkbox

我希望第二个复选框不可见,而第一个复选框不是' t"已检查"。在其他情况下,我想检查我的第一个复选框,第二个应该是可点击的。我该怎么办?

我的例子不起作用:

if (FirstCheckBox.Checked == true)
{
    SecondCheckBox.Visible = true;
}
else if (FirstCheckBox.Checked == false)
{
    SecondCheckBox.Visible = false;
}

1 个答案:

答案 0 :(得分:1)

您应该使用CheckedChanged事件。例如:

public Form1()
{
    InitializeComponent();
    checkBox1.CheckedChanged += CheckBox1_CheckedChanged;
    checkBox2.Enabled = false;
}

//When happens some change in a checkBox1
private void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
    if (checkBox1.Checked)
        checkBox2.Enabled = true;
    else
        checkBox2.Enabled = false;
}

使用lambda表达式:

public Form1()
{
    InitializeComponent();
    checkBox2.Enabled = false;
    checkBox1.CheckedChanged += (s, e) => checkBox2.Enabled = checkBox1.Checked;
}