ListBox.SelectedIndexChanged Událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nastane při SelectedIndex změně vlastnosti nebo SelectedIndices kolekce.
public:
event EventHandler ^ SelectedIndexChanged;
public event EventHandler SelectedIndexChanged;
public event EventHandler? SelectedIndexChanged;
member this.SelectedIndexChanged : EventHandler
Public Custom Event SelectedIndexChanged As EventHandler
Event Type
Příklady
Následující příklad kódu ukazuje, jak použít SelectedIndexChanged událost k vyhledání a výběru položky v jiném ListBox ovládacím prvku. Příklad používá událost k SelectedIndexChanged určení, kdy se vybraná položka v objektu ListBox změní. Ukázkový kód pak přečte text položky pomocí SelectedItem vlastnosti a zavolá metodu FindString na jiné ListBox pomocí textu vráceného SelectedItem v prvním ListBoxobjektu . Pokud je v druhé ListBoxpoložce nalezena položka , je vybraná. Tento příklad vyžaduje, aby do formuláře byly přidány dva ListBox ovládací prvky s názvem listBox1
a listBox2
, a aby oba ListBox ovládací prvky obsahovaly identické položky. Příklad také vyžaduje, aby metoda zpracování událostí definovaná v příkladu byla připojena k SelectedIndexChanged události .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
Poznámky
Můžete vytvořit obslužnou rutinu události pro tuto událost, abyste zjistili, kdy byl změněn vybraný index v objektu ListBox . To může být užitečné, pokud potřebujete zobrazit informace v jiných ovládacích prvcích na základě aktuálního výběru v .ListBox Obslužnou rutinu události pro tuto událost můžete použít k načtení informací v ostatních ovládacích prvcích.
SelectionMode Pokud je vlastnost nastavena na SelectionMode.MultiSimple nebo SelectionMode.MultiExtended, všechny změny SelectedIndices kolekce, včetně odebrání položky z výběru, vyvolá tuto událost.
Další informace o zpracování událostí najdete v tématu Zpracování a vyvolávání událostí.