CheckedListBox.CheckedIndexCollection Class
Collapse the table of content
Expand the table of content

CheckedListBox.CheckedIndexCollection Class

Encapsulates the collection of indexes of checked items (including items in an indeterminate state) in a CheckedListBox.


Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public class CheckedIndexCollection : IList, 
	ICollection, IEnumerable

The CheckedListBox.CheckedIndexCollection type exposes the following members.

Public propertyCountGets the number of checked items.
Public propertyIsReadOnlyGets a value indicating whether the collection is read-only.
Public propertyItemGets the index of a checked item in the CheckedListBox control.

Public methodContainsDetermines whether the specified index is located in the collection.
Public methodCopyToCopies the entire collection into an existing array at a specified location within the array.
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetEnumeratorReturns an enumerator that can be used to iterate through the CheckedIndices collection.
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodIndexOfReturns an index into the collection of checked indexes.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

Public Extension MethodAsParallelEnables parallelization of a query. (Defined by ParallelEnumerable.)
Public Extension MethodAsQueryableConverts an IEnumerable to an IQueryable. (Defined by Queryable.)
Public Extension MethodCast<TResult>Casts the elements of an IEnumerable to the specified type. (Defined by Enumerable.)
Public Extension MethodOfType<TResult>Filters the elements of an IEnumerable based on a specified type. (Defined by Enumerable.)

Explicit interface implemetationPrivate propertyICollection.IsSynchronizedInfrastructure. Gets a value indicating whether access to the CheckedListBox.CheckedIndexCollection is synchronized (thread safe).
Explicit interface implemetationPrivate propertyICollection.SyncRootInfrastructure. Gets an object that can be used to synchronize access to the collection of controls. For a description of this member, see ICollection.SyncRoot.
Explicit interface implemetationPrivate methodIList.AddInfrastructure. Adds an item to the CheckedListBox.CheckedIndexCollection. For a description of this member, see IList.Add.
Explicit interface implemetationPrivate methodIList.ClearInfrastructure. Removes all items from the CheckedListBox.CheckedIndexCollection. For a description of this member, see IList.Clear.
Explicit interface implemetationPrivate methodIList.ContainsInfrastructure. Determines whether the specified index is located within the CheckedListBox.CheckedIndexCollection. For a description of this member, see IList.Contains.
Explicit interface implemetationPrivate methodIList.IndexOfInfrastructure. For a description of this member, see IList.IndexOf.
Explicit interface implemetationPrivate methodIList.InsertInfrastructure. For a description of this member, see IList.Insert.
Explicit interface implemetationPrivate propertyIList.IsFixedSizeInfrastructure. For a description of this member, see IList.IsFixedSize.
Explicit interface implemetationPrivate propertyIList.ItemInfrastructure. For a description of this member, see IList.Item.
Explicit interface implemetationPrivate methodIList.RemoveInfrastructure. For a description of this member, see IList.Remove.
Explicit interface implemetationPrivate methodIList.RemoveAtInfrastructure. or a description of this member, see IList.RemoveAt.

The checked indexes collection is a subset of the indexes into the collection of all items in the CheckedListBox control. These indexes specify items in a checked or indeterminate state.

The following table is an example of the indexed collection of items in the control (all items contained in the control).



Check State


object 1



object 2



object 3



object 4



object 5


Based on the previous example, the following table shows the indexed collection of indexes of checked items.


Index of Item







The CheckedListBox class has two members that allow you to access the stored indexes, the Item property and the IndexOf method.

Based on the previous example, a call to the Item property with a parameter value of 1 returns a value of 3. A call to IndexOf with a parameter of 3 returns a value of 1.

The following example enumerates the checked items in the CheckedListBox.CheckedIndexCollection to see what check state an item is in. The example demonstrates using the GetItemCheckState method to set the check state of an item. The example also demonstrates using the CheckedIndices property to get the CheckedListBox.CheckedIndexCollection, and the CheckedItems property to get the CheckedListBox.CheckedItemCollection.

The first loop uses the GetItemCheckState method to get the CheckState of each checked item, given the index of the item. The second loop also uses GetItemCheckState, but uses the ListBox.ObjectCollection.IndexOf method to retrieve the index for the item.

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


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Community Additions

© 2016 Microsoft