【问题标题】:Disable button when listbox is empty列表框为空时禁用按钮
【发布时间】:2013-12-14 15:20:32
【问题描述】:

我有一个列表框和一个按钮。当列表框为空时,我希望禁用我的按钮。当我的列表框不为空时,我希望启用我的按钮,以便我可以单击它并运行它的代码。

到目前为止,我已经做了这样的事情:

        if(lbCalls.Items.Count > 0)
        {
            btnNextCall.Enabled = true;
        }
        else
        {
            btnNextCall.Enabled = false;
        }

但是,即使列表框仍然是空的,我仍然可以单击我的按钮,然后它给我一个错误,我无法继续。

我该如何解决这个问题?

【问题讨论】:

  • @Rnft:你上面的代码是在哪里写的?在什么情况下?

标签: c# button listbox


【解决方案1】:

你必须在某些EventArgs上调用它,例如调用它OnLoad、ListBox.SelectedChanged,所以试着做一些测试。

【讨论】:

    【解决方案2】:

    解决方案:您需要在ItemDelete 函数中运行上述代码。

    第 1 步: 创建一个 function 以更改 ButtonStatus
    第 2 步: 之后立即调用 functionListBox 中删除item

    试试这个:

       private void btnRemove_Click(object sender, EventArgs e)
        {
            if (lbCalls.Items.Count > 0)
                lbCalls.Items.RemoveAt(lbCalls.SelectedIndex);
    
            ChangeButtonStatus();
        }
        void ChangeButtonStatus()
        {
            if (lbCalls.Items.Count > 0)
                btnNextCall.Enabled = true;
            else
                btnNextCall.Enabled = false;
        }
    

    【讨论】:

    • 我让它为我的列表框工作,但现在我需要这种方法来处理这种情况:除非我没有从两个不同的列表框中选择一个项目,否则我必须禁用我的调度 -按钮。因此,必须选择两个不同列表框中的两个项目才能启用按钮。我该怎么做?
    猜你喜欢
    • 1970-01-01
    • 2016-05-13
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多