ListBox.SelectedIndexChanged Ereignis

Definition

Tritt ein, wenn die SelectedIndex-Eigenschaft oder die SelectedIndices-Auflistung geändert wurde.

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

Ereignistyp

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie mithilfe des SelectedIndexChanged Ereignisses nach einem Element in einem anderen ListBox Steuerelement suchen und es auswählen. Im Beispiel wird das SelectedIndexChanged -Ereignis verwendet, um zu bestimmen, wann das ausgewählte Element in geändert ListBox wird. Der Beispielcode liest dann den Text des Elements mithilfe der SelectedItem -Eigenschaft und ruft die FindString -Methode für eine andere ListBox auf, wobei der Text verwendet wird, der im ersten ListBoxzurückgegeben wirdSelectedItem. Wenn ein Element in der anderen ListBoxgefunden wird, wird das Element ausgewählt. In diesem Beispiel muss einem Formular zwei ListBox Steuerelemente mit dem Namen listBox1 und listBox2hinzugefügt werden, und dass beide ListBox Steuerelemente identische Elemente enthalten. Das Beispiel erfordert auch, dass die im Beispiel definierte Ereignisbehandlungsmethode mit dem SelectedIndexChanged -Ereignis von listBox1verbunden ist.

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

Hinweise

Sie können einen Ereignishandler für dieses Ereignis erstellen, um zu bestimmen, wann der ausgewählte Index in geändert ListBox wurde. Dies kann nützlich sein, wenn Sie Informationen in anderen Steuerelementen basierend auf der aktuellen Auswahl im ListBoxanzeigen müssen. Sie können den Ereignishandler für dieses Ereignis verwenden, um die Informationen in die anderen Steuerelemente zu laden.

Wenn die SelectionMode Eigenschaft auf SelectionMode.MultiSimple oder SelectionMode.MultiExtendedfestgelegt ist, löst jede Änderung an der SelectedIndices Auflistung, einschließlich des Entfernens eines Elements aus der Auswahl, dieses Ereignis aus.

Weitere Informationen zur Behandlung von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.

Gilt für:

Weitere Informationen