我是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
答案 0 :(得分:1)
您可能想要使用的事件是SelectedIndexChanged。而不是
handles Listbox1.Click
试
handles Listbox1.SelectedIndexChanged, Listbox2.SelectedIndexChanged