【问题标题】:WinForms ComboBox - How to Check ValuesWinForms ComboBox - 如何检查值
【发布时间】:2010-10-24 14:50:17
【问题描述】:

我正在用 C# .NET 构建一个 WinForms 应用程序

WinForms 应用程序有一个组合框,其中 DropDownStyle 设置为 DropDownList。当应用程序启动时,我读取了一个 XML 文件来填充 ComboBox 的值。并且,此时默认情况下,ComboBox 中没有选择任何内容。因此,更改和删除按钮被禁用。

现在,当用户选择一个值时,我希望启用更改和删除按钮。到目前为止,我已经完成了(尽管我不确定我是否以正确的方式完成了它)。

我已经在 SelectionChangeCommitted 事件中编写了代码。

private void cbList_SelectionChangeCommitted(object sender, EventArgs e)
{
    if (cbList.SelectedItem != null)
    {
        this.btnModify.Enabled = true;
        this.btnRemove.Enabled = true;
    }
    else
    {
        this.btnModify.Enabled = false;
        this.btnRemove.Enabled = false;
    }
}

现在,当我选择一个值时……按钮会启用(如预期的那样)。用户然后单击删除按钮,我们删除选定的值。现在,cbList 中没有任何 Selected 但按钮仍处于启用状态?

我检查是否选择了一个值然后启用/禁用按钮的功能/事件是什么。

【问题讨论】:

    标签: c# winforms combobox


    【解决方案1】:

    目前,没有 Visual Studio,所以我不记得我们有哪些事件。但你可以做到这一点,

     private void CheckButtons()
        {
    
            if (cbList.SelectedItem != null)
            {
                this.btnModify.Enabled = true;
                this.btnRemove.Enabled = true;
            }
            else
            {
                this.btnModify.Enabled = false;
                this.btnRemove.Enabled = false;
            }
        }
    

    在事件中使用你的函数

    private void cbList_SelectionChangeCommitted(object sender, EventArgs e)
    {
    CheckButtons();
    }
    

    如您所说,删除后按钮仍然可见,因此您可以将 CheckButtons() 函数放在删除函数之后,例如

    DeleteX();
    CheckButtons();
    

    【讨论】:

      猜你喜欢
      • 2011-01-16
      • 1970-01-01
      • 2021-07-01
      • 1970-01-01
      • 2010-11-20
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 2012-12-28
      相关资源
      最近更新 更多