แก้ไข

แชร์ผ่าน


CheckedListBox.CheckedIndexCollection Class

Definition

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

public: ref class CheckedListBox::CheckedIndexCollection : System::Collections::IList
public class CheckedListBox.CheckedIndexCollection : System.Collections.IList
type CheckedListBox.CheckedIndexCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
Public Class CheckedListBox.CheckedIndexCollection
Implements IList
Inheritance
CheckedListBox.CheckedIndexCollection
Implements

Examples

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.

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

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.

Properties

Count

Gets the number of checked items.

IsReadOnly

Gets a value indicating whether the collection is read-only.

Item[Int32]

Gets the index of a checked item in the CheckedListBox control.

Methods

Contains(Int32)

Determines whether the specified index is located in the collection.

CopyTo(Array, Int32)

Copies the entire collection into an existing array at a specified location within the array.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator()

Returns an enumerator that can be used to iterate through the CheckedIndices collection.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
IndexOf(Int32)

Returns an index into the collection of checked indexes.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

ICollection.IsSynchronized

Gets a value indicating whether access to the CheckedListBox.CheckedIndexCollection is synchronized (thread safe).

ICollection.SyncRoot

Gets an object that can be used to synchronize access to the collection of controls. For a description of this member, see SyncRoot.

IList.Add(Object)

This API supports the product infrastructure and is not intended to be used directly from your code.

Adds an item to the CheckedListBox.CheckedIndexCollection. For a description of this member, see Add(Object).

IList.Clear()

Removes all items from the CheckedListBox.CheckedIndexCollection. For a description of this member, see Clear().

IList.Contains(Object)

Determines whether the specified index is located within the CheckedListBox.CheckedIndexCollection. For a description of this member, see Contains(Object).

IList.IndexOf(Object)

For a description of this member, see IndexOf(Object).

IList.Insert(Int32, Object)

For a description of this member, see Insert(Int32, Object).

IList.IsFixedSize

For a description of this member, see IsFixedSize.

IList.Item[Int32]

For a description of this member, see Item[Int32].

IList.Remove(Object)

For a description of this member, see Remove(Object).

IList.RemoveAt(Int32)

or a description of this member, see RemoveAt(Int32).

Extension Methods

Cast<TResult>(IEnumerable)

Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Enables parallelization of a query.

AsQueryable(IEnumerable)

Converts an IEnumerable to an IQueryable.

Applies to

See also