Freigeben über


ListBox.SelectedIndexChanged-Ereignis

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

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
Public Event SelectedIndexChanged As EventHandler
'Usage
Dim instance As ListBox
Dim handler As EventHandler

AddHandler instance.SelectedIndexChanged, handler
public event EventHandler SelectedIndexChanged
public:
event EventHandler^ SelectedIndexChanged {
    void add (EventHandler^ value);
    void remove (EventHandler^ value);
}
/** @event */
public void add_SelectedIndexChanged (EventHandler value)

/** @event */
public void remove_SelectedIndexChanged (EventHandler value)
JScript unterstützt die Verwendung von Ereignissen, aber nicht die Deklaration von neuen Ereignissen.

Hinweise

Für dieses Ereignis können Sie einen Ereignishandler erstellen, um zu bestimmen, wann sich der in der ListBox ausgewählte Index geändert hat. Dies eignet sich für die Anzeige von Informationen in anderen Steuerelementen, die von der aktuellen Auswahl in der ListBox abhängen. Mit dem Ereignishandler für dieses Ereignis können Sie die Informationen in die anderen Steuerelemente laden.

Weitere Informationen zum Behandeln von Ereignissen finden Sie unter Behandeln von Ereignissen.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie das SelectedIndexChanged-Ereignis für die Suche nach und die Auswahl von Elementen in einem anderen ListBox-Steuerelement verwendet wird. Dabei wird mit dem SelectedIndexChanged-Ereignis bestimmt, zu welchem Zeitpunkt das ausgewählte Element in der ListBox geändert wird. Der Beispielcode liest daraufhin unter Verwendung der SelectedItem-Eigenschaft den Text des Elements und ruft die FindString-Methode für eine andere ListBox auf, indem er den von SelectedItem in der ersten ListBox zurückgegebenen Text verwendet. Wenn in der anderen ListBox ein Element gefunden wird, wird dieses ausgewählt. Für dieses Beispiel müssen einem Formular die beiden ListBox-Steuerelemente listBox1 und listBox2 hinzugefügt werden, und beide ListBox-Steuerelemente müssen identische Elemente enthalten. Des Weiteren muss in diesem Beispiel die dort definierte Ereignisbehandlungsmethode mit dem SelectedIndexChanged-Ereignis von listBox1 verbunden sein.

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
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 void listBox1_SelectedIndexChanged(Object sender, 
    System.EventArgs e)
{
    // Get the currently selected item in the ListBox.
    String curItem = listBox1.get_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);
    }
} //listBox1_SelectedIndexChanged 

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

ListBox-Klasse
ListBox-Member
System.Windows.Forms-Namespace
ListBox.SelectedIndex-Eigenschaft