从复选框更改布尔值

时间:2019-07-25 08:04:23

标签: c# winforms

我有一个叫做sendDataAuth的布尔值。负载时此布尔值设置为true。我有一个复选框,默认情况下处于加载状态,处于选中状态。

我正在尝试使此bool值在未选中的情况下变为false,在再次选中的情况下变为true。

我试图创建一个if语句。如果复选框状态已更改,请更改布尔值。

private void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
    if (checkBox1.Checked)
    {
        sendDataAuth = true;
    }
    else
    {
        sendDataAuth = false;
    }
}

布尔值保持不变,永远不变。

1 个答案:

答案 0 :(得分:2)

如果您使用的是 C#Winform

将sendDataAuth的值更改为复选框的值的简单方法是:

private void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
    sendDataAuth = checkBox1.Checked;
}

如果您使用的是 C#WPF

Checked和IsChecked之间可能会有误解。

已选中是在单击CheckBox时调用的操作。

IsChecked 是其值(布尔值)

因此,如果要修改sendDataAuth的值,可以将此值绑定到Checkbox的IsChecked,或者如果继续使用实际方法,请执行以下操作:

private void CheckBox1_OnChecked(object sender, RoutedEventArgs e)
{
    sendDataAuth = CheckBox1.IsChecked ?? false;
}