Windows窗体:在选中框列表项旁边进行检查,并为每个窗体项显示单独的消息

时间:2013-12-04 23:07:20

标签: vb.net winforms messagebox checkboxlist

当我当前运行我的程序时,在任何复选框列表中,我无法实际选择一个选项(即旁边的框,勾选)。

我还希望每个选项在勾选时显示一个消息框(即“添加了一个用户故事”),但是当前我的程序只显示一个常规消息框(“用户故事选中”)一旦点击了选中的框列表。任何帮助将非常感激!

当前代码:

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

1 个答案:

答案 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