ListBox.SelectedIndexChanged Zdarzenie
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Występuje, gdy SelectedIndex właściwość lub SelectedIndices kolekcja uległa zmianie.
public:
event EventHandler ^ SelectedIndexChanged;
public event EventHandler SelectedIndexChanged;
public event EventHandler? SelectedIndexChanged;
member this.SelectedIndexChanged : EventHandler
Public Custom Event SelectedIndexChanged As EventHandler
Typ wydarzenia
Przykłady
W poniższym przykładzie kodu pokazano, jak za pomocą SelectedIndexChanged zdarzenia wyszukiwać i wybierać element w innej ListBox kontrolce. W przykładzie SelectedIndexChanged użyto zdarzenia do określenia, kiedy wybrany element w elemencie ListBox zostanie zmieniony. Przykładowy kod odczytuje następnie tekst elementu przy użyciu SelectedItem właściwości i wywołuje FindString metodę inną ListBox przy użyciu tekstu zwróconego przez SelectedItem w pierwszym ListBoxelemencie . Jeśli element zostanie znaleziony w innym ListBoxelemencie , zostanie wybrany element. Ten przykład wymaga dodania do formularza dwóch ListBox kontrolek o nazwie listBox1 i listBox2, a oba ListBox kontrolki zawierają identyczne elementy. Przykład wymaga również, aby metoda obsługi zdarzeń zdefiniowana w przykładzie została połączona ze SelectedIndexChanged zdarzeniem 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
Uwagi
Możesz utworzyć procedurę obsługi zdarzeń dla tego zdarzenia, aby określić, kiedy wybrany indeks w obiekcie ListBox został zmieniony. Może to być przydatne, gdy trzeba wyświetlić informacje w innych kontrolkach na podstawie bieżącego zaznaczenia w elemencie ListBox. Możesz użyć programu obsługi zdarzeń dla tego zdarzenia, aby załadować informacje w innych kontrolkach.
SelectionMode Jeśli właściwość jest ustawiona na SelectionMode.MultiSimple lub SelectionMode.MultiExtended, wszelkie zmiany SelectedIndices w kolekcji, w tym usunięcie elementu z zaznaczenia, spowoduje wystąpienie tego zdarzenia.
Aby uzyskać więcej informacji na temat obsługi zdarzeń, zobacz Obsługa i podnoszenie zdarzeń.