ListBox.SelectedIndex 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置 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
属性值
当前选定项的从零开始的索引。 如果未选定任何项,则返回值为负一 (-1)。
- 属性
例外
指定的值小于 -1,或者大于或等于项的计数。
SelectionMode 属性设置为 None
。
示例
下面的代码示例演示如何将 属性与 TopIndex 属性结合使用SelectedIndex,将当前所选项移到 的显示区域中项列表的ListBox顶部。 该示例进一步演示如何使用 RemoveAt 类的 System.Windows.Forms.ListBox.ObjectCollection 方法删除项,以及如何使用 方法清除所有项选择 ClearSelected 。 该代码首先将 中 ListBox 当前选定的项移动到列表顶部。 然后,该代码删除当前所选项之前的所有项,并清除 中的所有 ListBox选择。 此示例要求 ListBox 将包含项添加到窗体中,并且当前在 中选择 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索引。
SelectionMode如果 的 ListBox 属性设置为 SelectionMode.MultiSimple
或 SelectionMode.MultiExtended
(这表示多选ListBox) 并在列表中选择了多个项,则此属性可以将索引返回到任何选定项。
若要检索包含多选 ListBox中所有选定项的索引的集合,请使用 SelectedIndices 属性。 如果要获取 当前在 中选择的 ListBox项,请使用 SelectedItem 属性。 此外,可以使用 SelectedItems 属性获取多选 ListBox项中的所有选定项。