ListBox.SelectedIndex Właściwość

Definicja

Pobiera lub ustawia indeks (liczony od zera) aktualnie wybranego elementu w ListBox .Gets or sets the zero-based index of the currently selected item in a 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

Wartość właściwości

Int32

Indeks (liczony od zera) aktualnie wybranego elementu.A zero-based index of the currently selected item. Wartość ujemna (-1) jest zwracana, jeśli nie wybrano żadnego elementu.A value of negative one (-1) is returned if no item is selected.

Atrybuty

Wyjątki

Przypisana wartość jest mniejsza niż-1 lub większa lub równa liczbie elementów.The assigned value is less than -1 or greater than or equal to the item count.

Właściwość SelectionMode ma ustawioną wartość None.The SelectionMode property is set to None.

Przykłady

Poniższy przykład kodu ilustruje sposób używania SelectedIndex właściwości z TopIndex właściwością do przenoszenia aktualnie wybranego elementu do góry listy elementów w obszarze wyświetlania ListBox .The following code example demonstrates how to use the SelectedIndex property with the TopIndex property to move the currently selected item to the top of the list of items in the display area of the ListBox. W przykładzie przedstawiono dalsze instrukcje usuwania elementów przy użyciu RemoveAt metody System.Windows.Forms.ListBox.ObjectCollection klasy oraz sposób czyszczenia wszystkich elementów przy użyciu ClearSelected metody.The example further demonstrates how to remove items using the RemoveAt method of the System.Windows.Forms.ListBox.ObjectCollection class, and how to clear all item selection using the ClearSelected method. Kod najpierw przenosi aktualnie zaznaczony element w ListBox górę na początku listy.The code first moves the currently selected item in the ListBox to the top of the list. Następnie kod usuwa wszystkie elementy przed aktualnie wybranym elementem i czyści wszystkie zaznaczenia w ListBox .The code then removes all items before the currently selected item and clears all selections in the ListBox. Ten przykład wymaga, aby ListBox element zawierający elementy został dodany do formularza i że w ListBox .This example requires that a ListBox containing items is added to a form and that an item is currently selected in the 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

Uwagi

W przypadku standardu ListBox można użyć tej właściwości, aby określić indeks elementu, który został wybrany w ListBox .For a standard ListBox, you can use this property to determine the index of the item that is selected in the ListBox. Jeśli SelectionMode Właściwość ListBox jest ustawiona na SelectionMode.MultiSimple lub SelectionMode.MultiExtended (która wskazuje wybór wielokrotny ListBox ), a na liście wybrano wiele elementów, ta właściwość może zwrócić indeks do dowolnego wybranego elementu.If the SelectionMode property of the ListBox is set to either SelectionMode.MultiSimple or SelectionMode.MultiExtended (which indicates a multiple-selection ListBox) and multiple items are selected in the list, this property can return the index to any selected item.

Aby pobrać kolekcję zawierającą indeksy wszystkich wybranych elementów z wielokrotnego wyboru ListBox , użyj SelectedIndices właściwości.To retrieve a collection containing the indexes of all selected items in a multiple-selection ListBox, use the SelectedIndices property. Jeśli chcesz uzyskać element, który jest aktualnie wybrany w ListBox , użyj SelectedItem właściwości.If you want to obtain the item that is currently selected in the ListBox, use the SelectedItem property. Ponadto można użyć SelectedItems właściwości, aby uzyskać wszystkie wybrane elementy z wielokrotnego wyboru ListBox .In addition, you can use the SelectedItems property to obtain all the selected items in a multiple-selection ListBox.

Dotyczy

Zobacz też