Sdílet prostřednictvím


ListBox.SelectedIndex Vlastnost

Definice

Získá nebo nastaví nulový index aktuálně vybrané položky v objektu ListBox.

public:
 virtual property int SelectedIndex { int get(); void set(int value); };
[System.ComponentModel.Bindable(true)]
[System.ComponentModel.Browsable(false)]
public override int SelectedIndex { get; set; }
[<System.ComponentModel.Bindable(true)>]
[<System.ComponentModel.Browsable(false)>]
member this.SelectedIndex : int with get, set
Public Overrides Property SelectedIndex As Integer

Hodnota vlastnosti

Index aktuálně vybrané položky založený na nule. Pokud není vybrána žádná položka, vrátí se záporná hodnota 1 (-1).

Atributy

Výjimky

Přiřazená hodnota je menší než -1 nebo větší než nebo rovna počtu položek.

Vlastnost SelectionMode je nastavena na hodnotu None.

Příklady

Následující příklad kódu ukazuje, jak pomocí SelectedIndex vlastnosti s TopIndex vlastností přesunout aktuálně vybranou položku na začátek seznamu položek v oblasti zobrazení objektu ListBox. Příklad dále ukazuje, jak odebrat položky pomocí RemoveAt metody System.Windows.Forms.ListBox.ObjectCollection třídy a jak vymazat všechny položky výběr pomocí ClearSelected metody . Kód nejprve přesune aktuálně vybranou položku v seznamu ListBox na začátek seznamu. Kód pak odebere všechny položky před aktuálně vybranou položkou a vymaže všechny výběry v objektu ListBox. Tento příklad vyžaduje, aby ListBox byly do formuláře přidány položky obsahující položky a aby byla položka aktuálně vybrána v objektu ListBox.

private:
   void RemoveTopItems()
   {
      // Determine if the currently selected item in the ListBox 
      // is the item displayed at the top in the ListBox.
      if ( listBox1->TopIndex != listBox1->SelectedIndex )

      // Make the currently selected item the top item in the ListBox.
      listBox1->TopIndex = listBox1->SelectedIndex;

      // Remove all items before the top item in the ListBox.
      for ( int x = (listBox1->SelectedIndex - 1); x >= 0; x-- )
      {
         listBox1->Items->RemoveAt( x );
      }

      // Clear all selections in the ListBox.
      listBox1->ClearSelected();
   }
private void RemoveTopItems()
{
   // Determine if the currently selected item in the ListBox 
   // is the item displayed at the top in the ListBox.
   if (listBox1.TopIndex != listBox1.SelectedIndex)
      // Make the currently selected item the top item in the ListBox.
      listBox1.TopIndex = listBox1.SelectedIndex;

   // Remove all items before the top item in the ListBox.
   for (int x = (listBox1.SelectedIndex -1); x >= 0; x--)
   {
      listBox1.Items.RemoveAt(x);
   }

   // Clear all selections in the ListBox.
   listBox1.ClearSelected();
}
Private Sub RemoveTopItems()
   ' Determine if the currently selected item in the ListBox 
   ' is the item displayed at the top in the ListBox.
   If listBox1.TopIndex <> listBox1.SelectedIndex Then
      ' Make the currently selected item the top item in the ListBox.
      listBox1.TopIndex = listBox1.SelectedIndex
   End If
   ' Remove all items before the top item in the ListBox.
   Dim x As Integer
   For x = listBox1.SelectedIndex - 1 To 0 Step -1
      listBox1.Items.RemoveAt(x)
   Next x

   ' Clear all selections in the ListBox.
   listBox1.ClearSelected()
End Sub

Poznámky

U standardního ListBoxobjektu můžete tuto vlastnost použít k určení indexu položky, která je vybrána v objektu ListBox. Pokud je vlastnost objektu ListBoxSelectionMode nastavena na nebo SelectionMode.MultiSimpleSelectionMode.MultiExtended (což označuje vícenásobný výběrListBox) a v seznamu je vybráno více položek, může tato vlastnost vrátit index libovolné vybrané položce.

Chcete-li načíst kolekci obsahující indexy všech vybraných položek v vícenásobném výběru ListBox, použijte SelectedIndices vlastnost . Pokud chcete získat položku, která je aktuálně vybraná v objektu ListBox, použijte SelectedItem vlastnost . Kromě toho můžete vlastnost použít SelectedItems k získání všech vybraných položek ve vícenásobný výběr ListBox.

Platí pro

Viz také