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 属性设置为 NoneThe 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. 该示例还演示了如何使用 System.Windows.Forms.ListBox.ObjectCollection 类的 RemoveAt 方法删除项,以及如何使用 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. 如果 ListBoxSelectionMode 属性设置为 SelectionMode.MultiSimpleSelectionMode.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.

适用于

另请参阅