次の方法で共有


CheckedListBox.SetItemCheckState(Int32, CheckState) メソッド

定義

指定したインデックスの位置にある項目のチェックの状態を設定します。

public:
 void SetItemCheckState(int index, System::Windows::Forms::CheckState value);
public void SetItemCheckState (int index, System.Windows.Forms.CheckState value);
member this.SetItemCheckState : int * System.Windows.Forms.CheckState -> unit
Public Sub SetItemCheckState (index As Integer, value As CheckState)

パラメーター

index
Int32

状態を設定する対象となる項目のインデックス。

value
CheckState

CheckState 値のいずれか 1 つ。

例外

指定された index が 0 未満です。

- または -

index が、リスト内の項目数以上の値です。

value が、CheckState 値の 1 つではありません。

次の例では、 内の項目を列挙し、リスト内 CheckedListBox の他のすべての項目をチェックします。 この例では、 メソッドと SetItemChecked メソッドをSetItemCheckState使用して項目のチェック状態を設定する方法を示します。 チェック対象のその他のすべての項目について、 SetItemCheckState が 呼び出されて にIndeterminate設定CheckStateされます。一方SetItemChecked、他の項目では が呼び出され、チェック状態が にChecked設定されます。

この例では、 プロパティを Items 使用して、 を取得 CheckedListBox.ObjectCollection して項目の を Count 取得する方法も示します。

void CheckEveryOther_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
   
   // Cycle through every item and check every other.
   // Set flag to true to know when this code is being executed. Used in the ItemCheck
   // event handler.
   insideCheckEveryOther = true;
   for ( int i = 0; i < checkedListBox1->Items->Count; i++ )
   {
      
      // For every other item in the list, set as checked.
      if ( (i % 2) == 0 )
      {
         
         // But for each other item that is to be checked, set as being in an
         // indeterminate checked state.
         if ( (i % 4) == 0 )
                     checkedListBox1->SetItemCheckState( i, CheckState::Indeterminate );
         else
                     checkedListBox1->SetItemChecked( i, true );
      }

   }
   insideCheckEveryOther = false;
}
private void CheckEveryOther_Click(object sender, System.EventArgs e) {
    // Cycle through every item and check every other.

    // Set flag to true to know when this code is being executed. Used in the ItemCheck
    // event handler.
    insideCheckEveryOther = true;

    for (int i = 0; i < checkedListBox1.Items.Count; i++) {
        // For every other item in the list, set as checked.
        if ((i % 2) == 0) {
            // But for each other item that is to be checked, set as being in an
            // indeterminate checked state.
            if ((i % 4) == 0)
                checkedListBox1.SetItemCheckState(i, CheckState.Indeterminate);
            else
                checkedListBox1.SetItemChecked(i, true);
        }
    }

    insideCheckEveryOther = false;
}
Private Sub CheckEveryOther_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckEveryOther.Click
    ' Cycle through every item and check every other.
    Dim i As Integer

    ' Set flag to true to know when this code is being executed. Used in the ItemCheck
    ' event handler.
    insideCheckEveryOther = True

    For i = 0 To CheckedListBox1.Items.Count - 1
        ' For every other item in the list, set as checked.

        If ((i Mod 2) = 0) Then
            ' But for each other item that is to be checked, set as being in an
            ' indeterminate checked state.

            If ((i Mod 4) = 0) Then
                CheckedListBox1.SetItemCheckState(i, CheckState.Indeterminate)
            Else
                CheckedListBox1.SetItemChecked(i, True)
            End If
        End If
    Next

    insideCheckEveryOther = False

End Sub

注釈

SetItemCheckState メソッドは、ItemCheck イベントを発生させます。

CheckStateが チェック ボックスにチェックマークと共にIndeterminate表示されるように設定されているが、チェックされたアイテムの不確定状態を示すボックスは灰色で表示されます。

適用対象

こちらもご覧ください