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, když se SelectedIndex vlastnost nebo SelectedIndices kolekce změnila.
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 pomocí SelectedIndexChanged události vyhledat a vybrat položku v jiném ListBox ovládacím prvku. Příklad používá SelectedIndexChanged událost k určení, kdy se změní vybraná položka v dané ListBox položce. Příklad kódu pak přečte text položky pomocí SelectedItem vlastnosti a zavolá FindString metodu na jiné ListBox pomocí textu vráceného SelectedItem v první ListBox. Pokud je položka nalezena v druhé ListBox, položka je vybrána. Tento příklad vyžaduje, aby byly do formuláře přidány dva ListBox ovládací prvky pojmenované listBox1 a listBox2, které oba ListBox ovládací prvky obsahují položky, které jsou identické. Příklad také vyžaduje, aby metoda zpracování událostí definovaná v příkladu byla připojena SelectedIndexChanged k 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
Pro tuto událost můžete vytvořit obslužnou rutinu události, která určí, kdy byl změněn vybraný index.ListBox To může být užitečné, když potřebujete zobrazit informace v jiných ovládacích prvcích na základě aktuálního výběru v souboru 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.
Pokud je vlastnost nastavena SelectionMode na SelectionMode.MultiSimple nebo SelectionMode.MultiExtended, jakákoli změna SelectedIndices kolekce, včetně odebrání položky z výběru, vyvolá tuto událost.
Další informace o zpracování událostí naleznete v tématu Zpracování a vyvolávání událostí.