【问题标题】:Enable/Disable checkBox based on combobox value with ternary operator使用三元运算符基于组合框值启用/禁用复选框
【发布时间】:2022-01-19 09:50:33
【问题描述】:

我正在尝试根据组合框选择启用复选框。我知道通过简单的 if 条件可以解决我的问题,但是当我将其更改为三元运算符时,它会显示错误

if (ComboBox.SelectedValue.Equals(enum.value))
{
    chkbox.Enabled = false;
}
else 
{ 
    chkbox.Enabled = true; 
}

三元:

ComboBox.SelectedValue == enum.value ? chkbox.Enabled = false : chkbox.Enabled = true;

这很好用,但是当我将其更改为三元时,它会引发错误。我怎样才能改变它以使其工作

提前致谢。

【问题讨论】:

    标签: c# winforms conditional-operator


    【解决方案1】:

    您的三元语法不正确。它应该是这样的:

    chkbox.Enabled = ComboBox.SelectedValue == enum.value ? false : true;
    

    你也可以这样写:

    chkbox.Enabled = ComboBox.SelectedValue != enum.value;
    

    【讨论】:

      猜你喜欢
      • 2013-11-17
      • 2017-12-28
      • 1970-01-01
      • 2015-08-02
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 2021-06-29
      相关资源
      最近更新 更多