ListBox.SelectedIndexCollection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示包含 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.ObjectCollection 的 ListBox。 |
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。 |