C# 启用/禁用组合框值上的控件
我有一行组合框,其值应在操作员选择框中选择某个选项时启用/禁用。问题是代码禁用了面板中的所有控件,表单必须重新加载到所述控件。当选择组合框选择“无”时,我希望它禁用除第二个组合框和复选框之外的所有控件。 非常感谢您对代码的任何帮助C# 启用/禁用组合框值上的控件,c#,winforms,combobox,C#,Winforms,Combobox,我有一行组合框,其值应在操作员选择框中选择某个选项时启用/禁用。问题是代码禁用了面板中的所有控件,表单必须重新加载到所述控件。当选择组合框选择“无”时,我希望它禁用除第二个组合框和复选框之外的所有控件。 非常感谢您对代码的任何帮助 private void OperatorSelect_SelectedIndexChanged(object sender, EventArgs e) { bool isEnabled = (OperatorSele
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;
}
目前所有的控件都被禁用了,我需要其他两个控件的帮助才能继续启用,其余的都被禁用。谢谢看起来您的
组合框ToStillShow
和复选框ToStillShow
应该一直处于启用状态,所以只需在循环中跳过它们:
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;
}
}
您说过,还有两个控件仍处于启用状态,因此,您应该使用
this.comboBoxToStillShow=isEnabled代码>