C# C-根据列表框启用或禁用按钮

C# C-根据列表框启用或禁用按钮,c#,button,listbox,selectedindexchanged,C#,Button,Listbox,Selectedindexchanged,这样的情景,;首先,我的按钮被禁用。只要表中选定的索引等于-1且表中的元素数为0,则该按钮将被禁用。我这样编码,但它不工作 private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { button1.Enabled = false; if (listBox1.SelectedIndex != -1 && listBox1.Items.Count &

这样的情景,;首先,我的按钮被禁用。只要表中选定的索引等于-1且表中的元素数为0,则该按钮将被禁用。我这样编码,但它不工作

    private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        button1.Enabled = false;
        if (listBox1.SelectedIndex != -1 && listBox1.Items.Count > 0)
        {
            button1.Enabled = true;
        }
        else
        {
            button1.Enabled = false;
        }
    }
注意:代码没有失败,但不起作用

多谢各位

private void Form2_Load(object sender, EventArgs e)
    {
        button1.Hide();
    }

    private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (listBox1.SelectedIndex!=-1&&listBox1.SelectedIndex>0)
        {
            button1.Show();
        }
        else
        {
            button1.Hide();
        }
    }
试试这个

我将button1.Enabled=false的位置更改为Form3中的,并删除了listbox.Items.Count条件。listbox.selectedindex!=-1对于此作业已足够,因为我们正在填充“selectedindex”函数,它不接受listbox.items,它适用于所选索引

 public Form3()
 {
     InitializeComponent();
     button1.Enabled = false;
 }

 private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (listBox1.SelectedIndex != -1)
     {
         button1.Enabled = true;
     }
 }

尝试更改您的if like=>if listBox1.SelectedIndex!=-1&&listBox1.Items.Count==0您认为我需要其他函数还是其他什么@如果条件变为上述情况,会发生什么?请描述不起作用。“你到底在期待什么事情没有发生?”SirRufo我编辑了我的答案,祝你愉快。我用另一种解决方案做到了。我将button1.Enabled=false的位置更改为Form1中的,并删除了listbox.Items.Count条件。listbox.selectedindex!=-1对于此作业已足够,因为我们正在填写“selectedindex”函数,它不接受listbox.items,它适用于selectedindex。无论如何,谢谢你。