ListBox.SelectedIndex Свойство

Определение

Получает или задает индекс выделенной в настоящий момент позиции в элементе управления 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; }
member this.SelectedIndex : int with get, set
Public Overrides Property SelectedIndex As Integer

Значение свойства

Индекс текущего выделенного элемента (индексация ведется с нуля).A zero-based index of the currently selected item. Если элемент не выбран, возвращается отрицательное значение (-1).A value of negative one (-1) is returned if no item is selected.

Атрибуты

Исключения

Назначенное значение параметра меньше -1 или больше или равно количеству элементов.The assigned value is less than -1 or greater than or equal to the item count.

Свойству SelectionMode задано значение None.The SelectionMode property is set to None.

Примеры

В следующем примере кода показано, как использовать свойство SelectedIndex со свойством TopIndex для перемещения выбранного в данный момент элемента в начало списка элементов в области отображения 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. В примере далее показано, как удалить элементы с помощью метода RemoveAt класса System.Windows.Forms.ListBox.ObjectCollection и как очистить выбор всех элементов с помощью метода ClearSelected.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. Код сначала Перемещает выбранный элемент в ListBox в верхнюю часть списка.The code first moves the currently selected item in the ListBox to the top of the list. Затем код удаляет все элементы перед текущим выбранным элементом и снимает все выделения в ListBox.The code then removes all items before the currently selected item and clears all selections in the ListBox. В этом примере требуется, чтобы в форму был добавлен ListBox, содержащий элементы, и элемент, выбранный в данный момент в 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

Комментарии

Для стандартного ListBoxможно использовать это свойство, чтобы определить индекс элемента, выбранного в ListBox.For a standard ListBox, you can use this property to determine the index of the item that is selected in the ListBox. Если для свойства SelectionMode ListBox задано значение SelectionMode.MultiSimple или SelectionMode.MultiExtended (что означает ListBoxмножественного выбора) и в списке выбрано несколько элементов, это свойство может вернуть индекс к любому выбранному элементу.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.

Чтобы получить коллекцию, содержащую индексы всех выбранных элементов в ListBoxс множественным выбором, используйте свойство SelectedIndices.To retrieve a collection containing the indexes of all selected items in a multiple-selection ListBox, use the SelectedIndices property. Если вы хотите получить элемент, который в данный момент выбран в ListBox, используйте свойство SelectedItem.If you want to obtain the item that is currently selected in the ListBox, use the SelectedItem property. Кроме того, можно использовать свойство SelectedItems для получения всех выбранных элементов в ListBoxс множественным выбором.In addition, you can use the SelectedItems property to obtain all the selected items in a multiple-selection ListBox.

Применяется к

Дополнительно