C# 当列表框为空时禁用按钮

C# 当列表框为空时禁用按钮,c#,button,listbox,C#,Button,Listbox,我有一个列表框和一个按钮。当列表框为空时,我希望禁用按钮。当我的列表框不为空时,我希望我的按钮被启用,这样我可以点击它,它将运行其代码 到目前为止,我已经做了如下工作: if(lbCalls.Items.Count > 0) { btnNextCall.Enabled = true; } else { btnNextCall.Enabled = false;

我有一个列表框和一个按钮。当列表框为空时,我希望禁用按钮。当我的列表框不为空时,我希望我的按钮被启用,这样我可以点击它,它将运行其代码

到目前为止,我已经做了如下工作:

        if(lbCalls.Items.Count > 0)
        {
            btnNextCall.Enabled = true;
        }
        else
        {
            btnNextCall.Enabled = false;
        }
但是,即使列表框仍然为空,我仍然可以单击我的按钮,然后它会给我一个错误,我无法继续


如何解决此问题?

您必须在某些事件参数上调用它,例如,在加载时调用它,ListBox.SelectedChanged,因此尝试进行一些测试。

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

步骤1:创建一个
功能
以更改
按钮的
状态

步骤2:
列表框中删除
项后立即调用
函数

试试这个:

   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;
    }

@Rnft:你在哪里写的上述代码?在哪种情况下?我让它用于我的列表框,但现在我需要用于这种情况的方法:除非我没有从两个不同的列表框中选择项目,否则我必须禁用我的分派按钮。因此,必须从两个不同的列表框中选择两个项目才能启用按钮。我该怎么做?