0

我有 8comboboxes个,如果用户更改任何一个combobox值,我必须启用一个按钮。我SelectedIndexChanged为每个组合框添加了事件。并尝试像这样检查。

if (
  cmbDInput_SelectedIndexChanged || cmbSwitch_SelectedIndexChanged ||
  cmbSatName_SelectedIndexChanged || cmbDRepeat_SelectedIndexChanged ||
  cmbSeq_SelectedIndexChanged
)

但它会引发错误

运算符||不能应用于“方法组”和“方法组”类型的操作数

任何建议如何做到这一点?

4

2 回答 2

2

您必须创建一个方法,例如 EnableButton

private void EnableButton()
{
   myButton.Enabled = true;
}

然后在您选择的所有索引更改事件中调用此方法

private void cmbDInput_SelectedIndexChanged(.....)
{
   EnableButton();
}

为您的所有选择索引更改事件执行此操作

或者您可以为所有下拉框设置 1 个事件

于 2012-07-27T10:39:07.337 回答
0

您正在使用方法名称,即cmbDInput_SelectedIndexChangedif 语句表达式||运算符中的事件应应用于布尔值。

if ((cmbDInput_SelectedIndexChanged) || cmbSwitch_SelectedIndexChanged || cmbSatName_SelectedIndexChanged || cmbDRepeat_SelectedIndexChanged || cmbSeq_SelectedIndexChanged)

将会

if ((cmbDInput.SelectedIndex !- -1) || cmbSwitch.SelectedIndex != -1|| cmbSatName.SelectedIndex !- -1 || cmbDRepeat_.SelectedIndex != -1 || cmbSeq.SelectedIndex != -1)

或者您可以获取事件的来源,即所选索引更改的组合如下

protected void cmbDInput_SelectedIndexChanged(object sender, System.EventArgs e)
{
    ComboBox ChangedCombox = sender as ComboBox;
}
于 2012-07-27T10:41:17.620 回答