0

我有一排组合框,其值应在运算符选择框中选择某个选项时启用/禁用。问题是代码禁用了面板中的所有控件,并且必须重新加载表单以响应所述控件。当Select Combobox选择“无”选择时,我希望它禁用所有控件,但我的第二个ComboBox和一个复选框。非常感谢您对代码的任何帮助。

private void OperatorSelect_SelectedIndexChanged(object sender, EventArgs e)
    {
        bool isEnabled = 
            (OperatorSelect.SelectedItem.ToString() != "(None)");
        foreach (Control cb in this.Controls)
        {
            cb.Enabled = !isEnabled;

        }
        this.comboBoxToStillShow = !isEnabled;
        this.CheckboxToStillShow = !isEnabled;

    }     

目前所有控件都被禁用,我需要帮助其他两个控件仍处于启用状态,其余所有控件都将被禁用。谢谢

4

1 回答 1

0

看起来像您的comboBoxToStillShow并且CheckboxToStillShow应该一直启用,所以只需在循环中跳过它们:

private void OperatorSelect_SelectedIndexChanged(object sender, EventArgs e)
{
    bool isEnabled = 
        (OperatorSelect.SelectedItem.ToString() != "(None)");
    foreach (Control cb in this.Controls)
    { 
        if(cb == comboBoxToStillShow || cb == CheckboxToStillShow) continue;
        cb.Enabled = !isEnabled;
    }        
}
于 2013-09-02T09:39:54.903 回答