ListView.ItemSelectionChanged Event


当项的选定状态发生更改时发生。Occurs when the selection state of an item changes.

 event System::Windows::Forms::ListViewItemSelectionChangedEventHandler ^ ItemSelectionChanged;
public event System.Windows.Forms.ListViewItemSelectionChangedEventHandler ItemSelectionChanged;
member this.ItemSelectionChanged : System.Windows.Forms.ListViewItemSelectionChangedEventHandler 
Public Custom Event ItemSelectionChanged As ListViewItemSelectionChangedEventHandler 


下面的代码示例演示如何使用此成员。The following code example demonstrates the use of this member. 在此示例中,事件处理程序报告 ItemSelectionChanged 事件的发生。In the example, an event handler reports on the occurrence of the ItemSelectionChanged event. 此报表可帮助你了解何时发生事件,并可帮助你进行调试。This report helps you to learn when the event occurs and can assist you in debugging. 若要报告多个事件或频繁发生的事件,请考虑将 MessageBox.Show 替换为 Console.WriteLine 或将消息附加到多行 TextBox中。To report on multiple events or on events that occur frequently, consider replacing MessageBox.Show with Console.WriteLine or appending the message to a multiline TextBox.

若要运行示例代码,请将其粘贴到包含名为 ListView1ListView 类型实例的项目中。To run the example code, paste it into a project that contains an instance of type ListView named ListView1. 然后,确保事件处理程序与 ItemSelectionChanged 事件关联。Then ensure that the event handler is associated with the ItemSelectionChanged event.

private void ListView1_ItemSelectionChanged(Object sender, ListViewItemSelectionChangedEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "IsSelected", e.IsSelected );
messageBoxCS.AppendFormat("{0} = {1}", "Item", e.Item );
messageBoxCS.AppendFormat("{0} = {1}", "ItemIndex", e.ItemIndex );
MessageBox.Show(messageBoxCS.ToString(), "ItemSelectionChanged Event" );
Private Sub ListView1_ItemSelectionChanged(sender as Object, e as ListViewItemSelectionChangedEventArgs) _ 
     Handles ListView1.ItemSelectionChanged

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "IsSelected", e.IsSelected)
    messageBoxVB.AppendFormat("{0} = {1}", "Item", e.Item)
    messageBoxVB.AppendFormat("{0} = {1}", "ItemIndex", e.ItemIndex)
    MessageBox.Show(messageBoxVB.ToString(),"ItemSelectionChanged Event")

End Sub


在虚拟模式下,当多个项的选择状态更改时,将发生 VirtualItemsSelectionRangeChanged 事件。In virtual mode, the VirtualItemsSelectionRangeChanged event will occur when the selection state of multiple items changes.

无论项状态是从选定项更改为选定状态还是取消选中,都将发生 ItemSelectionChanged 事件。The ItemSelectionChanged event occurs whether the item state changes from selected to deselected or deselected to selected.

有关处理事件的详细信息,请参阅处理和引发事件For more information about handling events, see Handling and Raising Events.

Applies to

See also