问题只选择一个包含多个ListBox的项目

时间:2014-06-20 13:47:56

标签: vb.net

我是VB.NET的新手,我试图创建一个简单的应用程序。我需要创建一个包含一些列表框的表单,我希望同时只选择一个项目。我在Form1 Class

中编写了这段代码
Public Class Form1

    Private Sub aggiornaQKI(sender As Object, e As System.EventArgs) _
        Handles ListBox1.Click, ListBox9.Click, ListBox8.Click, ListBox7.Click, _
                ListBox6.Click, ListBox5.Click, ListBox4.Click, ListBox3.Click, ListBox2.Click

        If sender.selectedindex >= 0 Then

            If sender.name <> "ListBox1" Then ListBox1.SelectedIndex = -1
            If sender.name <> "ListBox2" Then ListBox2.SelectedIndex = -1
            If sender.name <> "ListBox3" Then ListBox3.SelectedIndex = -1
            If sender.name <> "ListBox4" Then ListBox4.SelectedIndex = -1
            If sender.name <> "ListBox5" Then ListBox5.SelectedIndex = -1
            If sender.name <> "ListBox6" Then ListBox6.SelectedIndex = -1
            If sender.name <> "ListBox7" Then ListBox7.SelectedIndex = -1
            If sender.name <> "ListBox8" Then ListBox8.SelectedIndex = -1
            If sender.name <> "ListBox9" Then ListBox9.SelectedIndex = -1

        End If

    End Sub

End Class

如何在运行时选择多个项目?我唯一能做的就是快速点击列表框项目之间!

我没有声望发布图片,但我可以保证就像我说的那样。我试过在另一台电脑上运行应用程序但是是一样的。

我有Windows 7 64 bit.NET 4.0

在新版本中,我在第一个if之前写了Console.WriteLine(sender.name)。当问题发生时,似乎最后一次点击事件丢失了,因为我没有找到上次列出的列表框的名称!

要确认这一点,当选择这两个项目时,如果我插入一个断点并转到查看列表框的selecteditem属性的值,我会有效地看到其中两个具有值&lt;&gt; -1

1 个答案:

答案 0 :(得分:1)

您可能想要使用的事件是SelectedIndexChanged。而不是

handles Listbox1.Click

handles Listbox1.SelectedIndexChanged, Listbox2.SelectedIndexChanged