ListBox.TopIndex 属性

定义

获取或设置 ListBox 中第一个可见项的索引。

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

属性值

Int32

控件中第一个可见项的从零开始的索引。

属性

示例

下面的代码示例演示如何将 SelectedIndex 属性与 TopIndex 属性结合使用,将当前选定的项移动到显示区域中 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

注解

最初,索引位置为零的项 (0) 位于可见区域的 ListBox顶部。 ListBox如果滚动了内容,则另一项可能位于控件的显示区域顶部。 可以使用此属性获取当前位于控件可见区域顶部的项的索引ListBox.ObjectCollectionListBox。 还可以使用此属性将某个项放置在控件可见区域顶部的列表中。

适用于