ListBox.SelectedIndexCollection 类

定义

表示包含 ListBox 中选定项的索引的集合。

public: ref class ListBox::SelectedIndexCollection : System::Collections::IList
public class ListBox.SelectedIndexCollection : System.Collections.IList
type ListBox.SelectedIndexCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
Public Class ListBox.SelectedIndexCollection
Implements IList
继承
ListBox.SelectedIndexCollection
实现

示例

下面的示例演示如何使用 FindString 方法在 的 ListBox项中搜索搜索文本的所有实例。 该示例使用 方法的版本 FindString ,该方法使你能够指定一个起始搜索索引,从该索引中对 中的所有 ListBox项执行连续搜索。 该示例还演示了如何确定方法在到达项列表底部后何时 FindString 从列表顶部开始搜索,以防止递归搜索。 在 中找到项后, ListBox将使用 SetSelected 方法选择它们。

private:
   void FindAllOfMyString( String^ searchString )
   {
      // Set the SelectionMode property of the ListBox to select multiple items.
      listBox1->SelectionMode = SelectionMode::MultiExtended;

      // Set our intial index variable to -1.
      int x = -1;

      // If the search string is empty exit.
      if ( searchString->Length != 0 )
      {
         // Loop through and find each item that matches the search string.
         do
         {
            // Retrieve the item based on the previous index found. Starts with -1 which searches start.
            x = listBox1->FindString( searchString, x );

            // If no item is found that matches exit.
            if ( x != -1 )
            {
               // Since the FindString loops infinitely, determine if we found first item again and exit.
               if ( listBox1->SelectedIndices->Count > 0 )
               {
                  if ( x == listBox1->SelectedIndices[ 0 ] )
                                    return;
               }

               // Select the item in the ListBox once it is found.
               listBox1->SetSelected( x, true );
            }
         }
         while ( x != -1 );
      }
   }
private void FindAllOfMyString(string searchString)
{
   // Set the SelectionMode property of the ListBox to select multiple items.
   listBox1.SelectionMode = SelectionMode.MultiExtended;
   
   // Set our intial index variable to -1.
   int x =-1;
   // If the search string is empty exit.
   if (searchString.Length != 0)
   {
      // Loop through and find each item that matches the search string.
      do
      {
         // Retrieve the item based on the previous index found. Starts with -1 which searches start.
         x = listBox1.FindString(searchString, x);
         // If no item is found that matches exit.
         if (x != -1)
         {
            // Since the FindString loops infinitely, determine if we found first item again and exit.
            if (listBox1.SelectedIndices.Count > 0)
            {
               if(x == listBox1.SelectedIndices[0])
                  return;
            }
            // Select the item in the ListBox once it is found.
            listBox1.SetSelected(x,true);
         }
      }while(x != -1);
   }
}
Private Sub FindAllOfMyString(ByVal searchString As String)
   ' Set the SelectionMode property of the ListBox to select multiple items.
   listBox1.SelectionMode = SelectionMode.MultiExtended

   ' Set our intial index variable to -1.
   Dim x As Integer = -1
   ' If the search string is empty exit.
   If searchString.Length <> 0 Then
      ' Loop through and find each item that matches the search string.
      Do
         ' Retrieve the item based on the previous index found. Starts with -1 which searches start.
         x = listBox1.FindString(searchString, x)
         ' If no item is found that matches exit.
         If x <> -1 Then
            ' Since the FindString loops infinitely, determine if we found first item again and exit.
            If ListBox1.SelectedIndices.Count > 0 Then
               If x = ListBox1.SelectedIndices(0) Then
                  Return
               End If
            End If
            ' Select the item in the ListBox once it is found.
            ListBox1.SetSelected(x, True)
         End If
      Loop While x <> -1
   End If
End Sub

注解

ListBox.SelectedIndexCollection将索引存储在 中所选项。ListBox 存储在 中的 ListBox.SelectedIndexCollection 索引是 类中的 ListBox.ObjectCollection 索引位置。 类 ListBox.ObjectCollection 存储 中显示的 ListBox所有项。

下表是一个示例,说明 如何在ListBox.ObjectCollection示例 ListBox中存储 的ListBox项及其选择状态。

索引 Item ListBox 中的选择状态
0 object1 未选定
1 object2 选定
2 object3 未选定
3 object4 选定
4 object5 选定

根据上 ListBox.ObjectCollection 表中的示例,下表演示了 的显示方式 ListBox.SelectedIndexCollection

索引 ObjectCollection 中选定项的索引
0 1
1 3
2 4

可以使用此类的属性和方法通过 集合执行各种任务。 使用 Contains 方法可以确定 类中的 ListBox.ObjectCollection 索引位置是否是存储在 中的 ListBox.SelectedIndexCollection选定索引的成员。 知道项位于集合中后,可以使用 IndexOf 方法确定 中存储的特定索引位置ListBox.ObjectCollectionListBox的位置。

构造函数

ListBox.SelectedIndexCollection(ListBox)

初始化 ListBox.SelectedIndexCollection 类的新实例。

属性

Count

获取集合中的项数。

IsReadOnly

获取一个值,该值指示集合是否为只读。

Item[Int32]

获取此集合内指定索引处的索引值。

方法

Add(Int32)

添加位于指定索引位置的 ListBox

Clear()

从集合中移除所有控件。

Contains(Int32)

确定指定索引是否位于集合内。

CopyTo(Array, Int32)

将整个集合复制到现有数组中,从该数组内的指定位置开始复制。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetEnumerator()

返回枚举数,它们用于循环访问选定索引集合。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
IndexOf(Int32)

返回指定索引的 ListBox.SelectedIndexCollection 内的索引,该指定索引来自 ListBox.ObjectCollectionListBox

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
Remove(Int32)

从集合中移除指定的控件。

ToString()

返回表示当前对象的字符串。

(继承自 Object)

显式接口实现

ICollection.IsSynchronized

有关此成员的说明,请参见 IsSynchronized

ICollection.SyncRoot

有关此成员的说明,请参见 SyncRoot

IList.Add(Object)

有关此成员的说明,请参见 Add(Object)

IList.Clear()

有关此成员的说明,请参见 Clear()

IList.Contains(Object)

有关此成员的说明,请参见 Contains(Object)

IList.IndexOf(Object)

有关此成员的说明,请参见 IndexOf(Object)

IList.Insert(Int32, Object)

有关此成员的说明,请参见 Insert(Int32, Object)

IList.IsFixedSize

有关此成员的说明,请参见 IsFixedSize

IList.Item[Int32]

有关此成员的说明,请参见 Item[Int32]

IList.Remove(Object)

有关此成员的说明,请参见 Remove(Object)

IList.RemoveAt(Int32)

有关此成员的说明,请参见 RemoveAt(Int32)

扩展方法

Cast<TResult>(IEnumerable)

IEnumerable 的元素强制转换为指定的类型。

OfType<TResult>(IEnumerable)

根据指定类型筛选 IEnumerable 的元素。

AsParallel(IEnumerable)

启用查询的并行化。

AsQueryable(IEnumerable)

IEnumerable 转换为 IQueryable

适用于