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