ListBox.SelectedIndexChanged ListBox.SelectedIndexChanged ListBox.SelectedIndexChanged ListBox.SelectedIndexChanged Event

定義

SelectedIndex プロパティまたは SelectedIndices コレクションが変更されたときに発生します。Occurs when the SelectedIndex property or the SelectedIndices collection has changed.

public:
 event EventHandler ^ SelectedIndexChanged;
public event EventHandler SelectedIndexChanged;
member this.SelectedIndexChanged : EventHandler 
Public Custom Event SelectedIndexChanged As EventHandler 

次のコード例では、 SelectedIndexChangedイベントを使用して、別ListBoxのコントロールの項目を検索および選択する方法を示します。The following code example demonstrates how to use the SelectedIndexChanged event to search for and select an item in a different ListBox control. この例ではSelectedIndexChanged 、イベントを使用して、 ListBoxで選択された項目がいつ変更されたかを判断します。The example uses the SelectedIndexChanged event to determine when the selected item in the ListBox is changed. コード例でSelectedItemは、プロパティを使用して項目のテキストを読み取り、最初ListBoxのによっListBoxSelectedItem返されたテキストを使用して、別のでFindStringメソッドを呼び出します。The example code then reads the text of the item using the SelectedItem property and calls the FindString method on a different ListBox using the text returned by SelectedItem in the first ListBox. 項目がもう一方ListBoxで見つかった場合は、項目が選択されます。If an item is found in the other ListBox, the item is selected. この例では、 ListBoxlistBox2というlistBox1名前の2つのコントロールがフォームに追加さListBoxれており、両方のコントロールに同一の項目が含まれている必要があります。This example requires that two ListBox controls, named listBox1 and listBox2, have been added to a form and that both ListBox controls contain items that are identical. この例では、例で定義されているイベント処理メソッドがのSelectedIndexChanged listBox1イベントに接続されている必要もあります。The example also requires that the event-handling method defined in the example is connected to the SelectedIndexChanged event of listBox1.

private:
   void listBox1_SelectedIndexChanged( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      // Get the currently selected item in the ListBox.
      String^ curItem = listBox1->SelectedItem->ToString();

      // Find the string in ListBox2.
      int index = listBox2->FindString( curItem );

      // If the item was not found in ListBox 2 display a message box,
      //  otherwise select it in ListBox2.
      if ( index == -1 )
            MessageBox::Show( "Item is not available in ListBox2" );
      else
            listBox2->SetSelected( index, true );
   }
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
   // Get the currently selected item in the ListBox.
   string curItem = listBox1.SelectedItem.ToString();

   // Find the string in ListBox2.
   int index = listBox2.FindString(curItem);
   // If the item was not found in ListBox 2 display a message box, otherwise select it in ListBox2.
   if(index == -1)
      MessageBox.Show("Item is not available in ListBox2");
   else
      listBox2.SetSelected(index,true);
}
Private Sub listBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles listBox1.SelectedIndexChanged
   ' Get the currently selected item in the ListBox.
   Dim curItem As String = listBox1.SelectedItem.ToString()

   ' Find the string in ListBox2.
   Dim index As Integer = listBox2.FindString(curItem)
   ' If the item was not found in ListBox 2 display a message box, otherwise select it in ListBox2.
   If index = -1 Then
      MessageBox.Show("Item is not available in ListBox2")
   Else
      listBox2.SetSelected(index, True)
   End If
End Sub

注釈

このイベントのイベントハンドラーを作成して、 ListBoxで選択したインデックスがいつ変更されたかを判断できます。You can create an event handler for this event to determine when the selected index in the ListBox has been changed. これは、の現在の選択内容に基づいて、 ListBox他のコントロールに情報を表示する必要がある場合に便利です。This can be useful when you need to display information in other controls based on the current selection in the ListBox. このイベントのイベントハンドラーを使用して、他のコントロールに情報を読み込むことができます。You can use the event handler for this event to load the information in the other controls.

プロパティがまたはSelectionMode.MultiSimple SelectionMode.MultiExtendedに設定されている場合、 SelectedIndices選択項目から項目を削除するなど、コレクションを変更すると、このイベントが発生します。 SelectionModeIf the SelectionMode property is set to SelectionMode.MultiSimple or SelectionMode.MultiExtended, any change to the SelectedIndices collection, including removing an item from the selection, will raise this event.

イベントの処理の詳細については、「処理とイベントの発生」を参照してください。For more information about handling events, see Handling and Raising Events.

適用対象

こちらもご覧ください