CheckedListBox.CheckedItemCollection 类

封装 CheckedListBox 控件中选中项(包括处于不确定状态的项)的集合。

**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)

语法

声明
Public Class CheckedItemCollection
    Implements IList, ICollection, IEnumerable
用法
Dim instance As CheckedItemCollection
public class CheckedItemCollection : IList, ICollection, IEnumerable
public ref class CheckedItemCollection : IList, ICollection, IEnumerable
public class CheckedItemCollection implements IList, ICollection, 
    IEnumerable
public class CheckedItemCollection implements IList, ICollection, 
    IEnumerable

备注

选中项集合是 CheckedListBox 控件中所有项的子集;它只包含处于选中或不确定状态的那些项。

下表是控件中项(控件中包含的所有项)的索引集合的示例。

索引

复选状态

0

对象 1

Unchecked

1

对象 2

Checked

2

对象 3

Unchecked

3

对象 4

Indeterminate

4

对象 5

Checked

基于前面的示例,下表展示选中项的索引集合。

索引

0

对象 2

1

对象 4

2

对象 5

CheckedListBox 类包含两个用于访问存储索引的成员:Item 属性和 IndexOf 方法。

基于上面的示例,对 Item 属性的调用(参数值为 1)返回对象 4。对 IndexOf 的调用(参数为对象 4)返回值 1。

示例

下面的示例枚举在 CheckedListBox.CheckedIndexCollection 中选中的项以查看项的复选状态。本示例演示了使用 GetItemCheckState 方法设置项的复选状态。本示例还演示了使用 CheckedIndices 属性获取 CheckedListBox.CheckedIndexCollection,以及使用 CheckedItems 属性获取 CheckedListBox.CheckedItemCollection

第一个循环使用 GetItemCheckState 方法获取每个选中项的 CheckState(给定该项的索引)。第二个循环也使用 GetItemCheckState,但是使用 ListBox.ObjectCollection.IndexOf 方法来检索该项的索引。

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
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() + ".");
    }

}
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.
    IEnumerator objEnum = checkedListBox1.get_CheckedIndices().
        GetEnumerator();

    while (objEnum.MoveNext()) {
        int indexChecked = (int)(Int32)(objEnum.get_Current());

        // The indexChecked variable contains the index of the item.
        MessageBox.Show("Index#: " + (Int32)indexChecked 
            + ", is checked. Checked state is:" 
            + checkedListBox1.GetItemCheckState(indexChecked).ToString() 
            + ".");
    }

    // Next show the object title and check state for each item selected.
    for (int iCtr = 0; 
        iCtr < checkedListBox1.get_CheckedItems().get_Count(); 
        iCtr++) {
        Object itemChecked = 
            checkedListBox1.get_CheckedItems().get_Item(iCtr);

        // 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.get_Items().IndexOf(itemChecked)).ToString() 
            + ".");
    }
} //whatIsChecked_Click

继承层次结构

System.Object
  System.Windows.Forms.CheckedListBox.CheckedItemCollection

线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

CheckedListBox.CheckedItemCollection 成员
System.Windows.Forms 命名空间