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

时间:2019-02-23 05:57:22

标签: c# button listbox selectedindexchanged

这种情况;首先我的按钮被禁用。只要表中选择的索引等于-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;
        }
    }

注意:该代码不会失败,但是不会起作用。

谢谢。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

尝试一下