Sdílet prostřednictvím


ListBox.SelectedIndexChanged Událost

Definice

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í.

Platí pro

Viz také