【发布时间】:2013-01-21 20:30:05
【问题描述】:
我在一个 winforms 后面有这段代码,它只是有一个 listbox 作为它的唯一控件:
Imports System.Windows.Forms
Public Class Form1
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
ListBoxX.Items.Add("hello")
ListBoxX.Items.Add("world")
ListBoxX.Items.Add("foo")
ListBoxX.Items.Add("bar")
End Sub
Private Sub ListBoxX_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ListBoxX.SelectedIndexChanged
MessageBox.Show("change registered")
End Sub
Private Sub ListBoxX_SelectedValueChanged(sender As Object, e As System.EventArgs) Handles ListBoxX.SelectedValueChanged
MessageBox.Show("change registered X")
End Sub
End Class
如果选择了“hello”,然后单击“hello”,则会出现消息框 - 当然,如果我单击同一项目,则 SelectedIndex 未更改 - 那么为什么会触发这个事件呢?如何确保它仅在索引更改时触发?
【问题讨论】: