Export (0) Print
Expand All
1 out of 1 rated this helpful - Rate this topic

CheckedListBox.CheckedIndexCollection Class

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

For a list of all members of this type, see CheckedListBox.CheckedIndexCollection Members.

System.Object
   System.Windows.Forms.CheckedListBox.CheckedIndexCollection

[Visual Basic]
Public Class CheckedListBox.CheckedIndexCollection
   Implements IList, ICollection, IEnumerable
[C#]
public class CheckedListBox.CheckedIndexCollection : IList,
   ICollection, IEnumerable
[C++]
public __gc class CheckedListBox.CheckedIndexCollection : public
   IList, ICollection, IEnumerable
[JScript]
public class CheckedListBox.CheckedIndexCollection implements
   IList, ICollection, IEnumerable

Thread Safety

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

Remarks

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).

Index Item Check State
0 object 1 Unchecked
1 object 2 Checked
2 object 3 Unchecked
3 object 4 Indeterminate
4 object 5 Checked

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

Index Index of Item
0 1
1 3
2 4

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.

Example

[Visual Basic, C#, C++] 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.

[Visual Basic, C#, C++] 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 ObjectCollection.IndexOf method to retrieve the index for the item.

[Visual Basic] 
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

[C#] 
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() + ".");
    }

}

[C++] 
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* myEnum1 = checkedListBox1->CheckedIndices->GetEnumerator();
        while (myEnum1->MoveNext()) {
            Int32 indexChecked =  *__try_cast<__box Int32*>(myEnum1->Current);

            // The indexChecked variable contains the index of the item.
            MessageBox::Show(String::Concat(S"Index#: ", __box(indexChecked), S", is checked. Checked state is: ", 
                __box(checkedListBox1->GetItemCheckState(indexChecked)), S"."));
        }

        // Next show the Object* title and check state for each item selected.
        IEnumerator* myEnum2 = checkedListBox1->CheckedItems->GetEnumerator();
        while (myEnum2->MoveNext()) {
            Object* itemChecked = __try_cast<Object*>(myEnum2->Current);

            // Use the IndexOf method to get the index of an item.
            MessageBox::Show(String::Concat(S"Item with title: \"", itemChecked, 
                S"\", is checked. Checked state is: ", 
                __box(checkedListBox1->GetItemCheckState(checkedListBox1->Items->IndexOf(itemChecked))), S"."));
        }
    }

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Namespace: System.Windows.Forms

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

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

See Also

CheckedListBox.CheckedIndexCollection Members | System.Windows.Forms Namespace | CheckedListBox.CheckedIndices | CheckedListBox.CheckedItems | CheckedListBox.Items

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.