CheckedListBox.CheckedIndexCollection クラス

CheckedListBox でチェックされている項目 (不確定な状態の項目を含む) のインデックスのコレクションをカプセル化します。

この型のすべてのメンバの一覧については、CheckedListBox.CheckedIndexCollection メンバ を参照してください。

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

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

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

チェックされているインデックスのコレクションは、 CheckedListBox コントロールのすべての項目のコレクションで構成したインデックスのサブセットです。これらのインデックスで、チェックされている状態または不確定な状態の項目を指定します。

コントロールの項目 (コントロールに含まれるすべての項目) のインデックス付きコレクションの例を次の表に示します。

インデックス 項目 チェックの状態
0 オブジェクト 1 Unchecked
1 オブジェクト 2 Checked
2 オブジェクト 3 Unchecked
3 オブジェクト 4 Indeterminate
4 オブジェクト 5 Checked

前の例に基づいて、チェックされている項目のインデックスのインデックス付きコレクションを次の表に示します。

インデックス 項目のインデックス
0 1
1 3
2 4

CheckedListBox クラスは、格納されたインデックス、 Item プロパティ、および IndexOf メソッドにアクセスできる 2 つのメンバを保持しています。

前の例に基づいて、パラメータを値 1 に設定して Item プロパティを呼び出すと、値 3 が返されます。パラメータを値 3 に設定して IndexOf を呼び出すと、値 1 が返されます。

使用例

[Visual Basic, C#, C++] CheckedListBox.CheckedIndexCollection 内のチェック項目を列挙して各項目のチェック状態を調べる方法を次の例に示します。この例では、 GetItemCheckState メソッドを使用して項目のチェック状態を取得します。この例では、 CheckedIndices プロパティを使用して CheckedListBox.CheckedIndexCollection を取得し、 CheckedItems プロパティを使用して CheckedListBox.CheckedItemCollection を取得する方法についても示します。

[Visual Basic, C#, C++] 最初のループでは、項目のインデックスを基に、 GetItemCheckState メソッドを使用して、各チェック項目の CheckState を取得します。2 番目のループでは GetItemCheckState も使用しますが、項目のインデックスの取得には 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

[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] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Windows.Forms

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)

参照

CheckedListBox.CheckedIndexCollection メンバ | System.Windows.Forms 名前空間 | CheckedListBox.CheckedIndices | CheckedListBox.CheckedItems | CheckedListBox.Items