当我当前运行我的程序时,在任何复选框列表中,我无法实际选择一个选项(即旁边的框,勾选)。
我还希望每个选项在勾选时显示一个消息框(即“添加了一个用户故事”),但是当前我的程序只显示一个常规消息框(“用户故事选中”)一旦点击了选中的框列表。任何帮助将非常感激!
当前代码:
Public Class Form2
Private Sub CheckedListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CheckedListBox1.SelectedIndexChanged
MessageBox.Show("User Story Selected")
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form3.Show()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Me.Hide()
Form1.Show()
End Sub
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
End Class
答案 0 :(得分:1)
您正在回复错误的事件,可能会检查错误的属性。
Private Sub CheckedListBox1_ItemCheck(ByVal sender As Object, _
ByVal e As System.Windows.Forms.ItemCheckEventArgs)
MessageBox.Show("User Story Selected")
End Sub
检查ItemCheck
事件,并检查项目是否在CheckedItems
集合中。 SelectedItems
集合实际上是那些被选中(突出显示)的集合,可能也不会被检查。它不是真正的复选框列表,而是作为检查绘制的项目列表 - 这就是为什么它们看起来与常规检查不同。要查看哪个项目:
For n as Integer = 0 to CheckedListBox1.CheckedItems.Count-1
userWants = CheckedListBox1.CheckedItems(n)
Next n
像ListBox一样,你可以在其中放置任何内容,而不仅仅是字符串,所以它是一个故事列表,你可以做到:
userWants = CheckedListBox1.CheckedItems(n).StoryName