CheckedListBox.CheckedIndexCollection 类     
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
封装 CheckedListBox 中选中的项(包括处于不确定状态的项)的索引集合。
public: ref class CheckedListBox::CheckedIndexCollection : System::Collections::IListpublic class CheckedListBox.CheckedIndexCollection : System.Collections.IListtype CheckedListBox.CheckedIndexCollection = class
    interface IList
    interface ICollection
    interface IEnumerablePublic Class CheckedListBox.CheckedIndexCollection
Implements IList- 继承
- 
				CheckedListBox.CheckedIndexCollection
- 实现
示例
以下示例枚举选中的项 CheckedListBox.CheckedIndexCollection ,以查看项处于哪个检查状态。 该示例演示如何使用 GetItemCheckState 该方法设置项的检查状态。 该示例还演示了如何使用 CheckedIndices 属性来获取 CheckedListBox.CheckedIndexCollection,以及 CheckedItems 用于获取的属性 CheckedListBox.CheckedItemCollection。
第一个循环使用 GetItemCheckState 该方法获取 CheckState 每个已检查项(给定项的索引)。 第二个循环也使用 GetItemCheckState,但使用该 ListBox.ObjectCollection.IndexOf 方法检索项的索引。
void WhatIsChecked_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
   
   // Display in a message box all the items that are checked.
   // First show the index and check state of all selected items.
   IEnumerator^ myEnum1 = checkedListBox1->CheckedIndices->GetEnumerator();
   while ( myEnum1->MoveNext() )
   {
      Int32 indexChecked =  *safe_cast<Int32^>(myEnum1->Current);
      
      // The indexChecked variable contains the index of the item.
      MessageBox::Show( String::Concat( "Index#: ", indexChecked, ", is checked. Checked state is: ", checkedListBox1->GetItemCheckState( indexChecked ), "." ) );
   }
   
   // Next show the Object* title and check state for each item selected.
   IEnumerator^ myEnum2 = checkedListBox1->CheckedItems->GetEnumerator();
   while ( myEnum2->MoveNext() )
   {
      Object^ itemChecked = safe_cast<Object^>(myEnum2->Current);
      
      // Use the IndexOf method to get the index of an item.
      MessageBox::Show( String::Concat( "Item with title: \"", itemChecked, "\", is checked. Checked state is: ", checkedListBox1->GetItemCheckState( checkedListBox1->Items->IndexOf( itemChecked ) ), "." ) );
   }
}
private void WhatIsChecked_Click(object sender, System.EventArgs e) {
    // Display in a message box all the items that are checked.
    // First show the index and check state of all selected items.
    foreach(int indexChecked in checkedListBox1.CheckedIndices) {
        // The indexChecked variable contains the index of the item.
        MessageBox.Show("Index#: " + indexChecked.ToString() + ", is checked. Checked state is:" +
                        checkedListBox1.GetItemCheckState(indexChecked).ToString() + ".");
    }
    // Next show the object title and check state for each item selected.
    foreach(object itemChecked in checkedListBox1.CheckedItems) {
        // Use the IndexOf method to get the index of an item.
        MessageBox.Show("Item with title: \"" + itemChecked.ToString() +
                        "\", is checked. Checked state is: " +
                        checkedListBox1.GetItemCheckState(checkedListBox1.Items.IndexOf(itemChecked)).ToString() + ".");
    }
}
Private Sub WhatIsChecked_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WhatIsChecked.Click
    ' Display in a message box all the items that are checked.
    Dim indexChecked As Integer
    Dim itemChecked As Object
    Const quote As String = """"
    ' First show the index and check state of all selected items.
    For Each indexChecked In CheckedListBox1.CheckedIndices
        ' The indexChecked variable contains the index of the item.
        MessageBox.Show("Index#: " + indexChecked.ToString() + ", is checked. Checked state is:" + _
                        CheckedListBox1.GetItemCheckState(indexChecked).ToString() + ".")
    Next
    ' Next show the object title and check state for each item selected.
    For Each itemChecked In CheckedListBox1.CheckedItems
        ' Use the IndexOf method to get the index of an item.
        MessageBox.Show("Item with title: " + quote + itemChecked.ToString() + quote + _
                        ", is checked. Checked state is: " + _
                        CheckedListBox1.GetItemCheckState(CheckedListBox1.Items.IndexOf(itemChecked)).ToString() + ".")
    Next
End Sub
注解
选中的索引集合是控件中所有项的集合中的 CheckedListBox 索引子集。 这些索引指定处于选中状态或不确定状态的项。
下表是控件中项的索引集合的示例, (控件中包含的所有项) 。
| 索引 | Item | 检查状态 | 
|---|---|---|
| 0 | 对象 1 | Unchecked | 
| 1 | 对象 2 | Checked | 
| 2 | 对象 3 | Unchecked | 
| 3 | 对象 4 | Indeterminate | 
| 4 | 对象 5 | Checked | 
根据前面的示例,下表显示了已检查项索引的索引集合。
| 索引 | 项索引 | 
|---|---|
| 0 | 1 | 
| 1 | 3 | 
| 2 | 4 | 
该 CheckedListBox 类具有两个成员,可用于访问存储的索引、 Item[] 属性和 IndexOf 方法。
根据前面的示例,对 Item[] 参数值为 1 的属性的调用返回值 3。 使用参数 3 调用 IndexOf 将返回值 1。
属性
| Count | 获取选中项数。 | 
| IsReadOnly | 获取一个值,该值指示集合是否为只读。 | 
| Item[Int32] | 获取 CheckedListBox 控件中某选中项的索引。 | 
方法
| Contains(Int32) | 确定指定索引是否位于集合中。 | 
| CopyTo(Array, Int32) | 将整个集合复制到现有数组中,从该数组内的指定位置开始复制。 | 
| Equals(Object) | 确定指定对象是否等于当前对象。(继承自 Object) | 
| GetEnumerator() | 返回一个可用于循环访问 CheckedIndices 集合的枚举数。 | 
| GetHashCode() | 作为默认哈希函数。(继承自 Object) | 
| GetType() | 获取当前实例的 Type。(继承自 Object) | 
| IndexOf(Int32) | 返回选中索引集合中的一个索引。 | 
| MemberwiseClone() | 创建当前 Object 的浅表副本。(继承自 Object) | 
| ToString() | 返回表示当前对象的字符串。(继承自 Object) | 
显式接口实现
| ICollection.IsSynchronized | 获取一个值,该值指示是否同步对 CheckedListBox.CheckedIndexCollection 的访问(线程安全)。 | 
| ICollection.SyncRoot | 获取可用于同步控件集合访问的对象。 有关此成员的说明,请参见 SyncRoot。 | 
| IList.Add(Object) | 此 API 支持产品基础结构,不能在代码中直接使用。 将某项添加到 CheckedListBox.CheckedIndexCollection 中。 有关此成员的说明,请参见 Add(Object)。 | 
| IList.Clear() | 从 CheckedListBox.CheckedIndexCollection 中移除所有项。 有关此成员的说明,请参见 Clear()。 | 
| IList.Contains(Object) | 确定指定索引是否位于 CheckedListBox.CheckedIndexCollection 内。 有关此成员的说明,请参见 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。 |