PowerTools PlusPak for Windows Forms 8.0J
チェックボックスの設定

GcCheckedGroupBoxコントロールのチェックボックスの設定方法について、以下に解説します。

チェックボックスの追加と削除
GcCheckedGroupBox コントロールにチェックボックスを追加または削除するには、プロパティウィンドウで Items プロパティを選択して右側のボタンから CheckBoxItem コレクション エディタを起動し、設定します。




コードで行う場合は、GcCheckedGroupBox コントロールの Items プロパティの CheckBoxItemCollection の Add や Remove メソッドを呼び出します。次のサンプルコードは、コードでチェックボックスを追加する方法を示します。

Imports GrapeCity.Win.Containers

Dim checkitem1 As New CheckBoxItem
checkitem1.Text = "月曜日"
checkitem1.Checked = True
GcCheckedGroupBox1.Items.Add(checkitem1)
using GrapeCity.Win.Containers;

CheckBoxItem checkitem1 = new CheckBoxItem();
checkitem1.Text = "月曜日";
checkitem1.Checked = true;
gcCheckedGroupBox1.Items.Add (checkitem1);


次のサンプルコードは、コードで先頭のチェックボックスを削除する方法を示します。

GcCheckedGroupBox1.Items.Remove(GcCheckedGroupBox1.Items(0))
gcCheckedGroupBox1.Items.Remove(gcCheckedGroupBox1.Items[0]);
チェックボックスの操作
GcCheckedGroupBox コントロールに追加されたチェックボックスは、次のメソッドを利用してまとめて状態を変更することができます。
  • CheckAllItems メソッド(GcCheckedGroupBoxコントロールに含まれるすべての項目のチェックボックスをオンにします。)
  • UncheckAllItems メソッド(GcCheckedGroupBoxコントロールに含まれるすべての項目のチェックボックスをオフにします。)
  • EnableAllItems メソッド(GcCheckedGroupBoxコントロールに含まれるすべてのチェックボックスを有効にします。)
  • DisableAllItems メソッド(GcCheckedGroupBoxコントロールに含まれるすべてのチェックボックスを無効にします。)
チェックされたチェックボックスを取得
チェックされたチェックボックスを取得するには、CheckedItems プロパティが参照するCheckedCheckBoxItemCollection オブジェクトを使用するか、またはCheckedIndices プロパティが参照するCheckedCheckBoxIndexCollection オブジェクトを使います。前者のCheckedItemsを使うとコントロール内のオンになっている項目(CheckBoxItem)のコレクションを取得することができます。後者のCheckedIndicesを使うとコントロール内のオンになっている項目のインデックスのコレクションを取得することができます。

Imports GrapeCity.Win.Containers

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim Checkitem1 As CheckBoxItem = New CheckBoxItem()
    Checkitem1.Text = "春"
    Checkitem1.Checked = True
    GcCheckedGroupBox1.Items.Add(Checkitem1)

    Dim Checkitem2 As CheckBoxItem = New CheckBoxItem()
    Checkitem2.Text = "夏"
    Checkitem2.Checked = False
    GcCheckedGroupBox1.Items.Add(Checkitem2)

    Dim Checkitem3 As CheckBoxItem = New CheckBoxItem()
    checkitem3.Text = "秋"
    Checkitem3.Checked = True
    GcCheckedGroupBox1.Items.Add(checkitem3)

    Dim Checkitem4 As CheckBoxItem = New CheckBoxItem()
    Checkitem4.Text = "冬"
    Checkitem4.Checked = True
    GcCheckedGroupBox1.Items.Add(Checkitem4)

    GcCheckedGroupBox1.Text = "好きな季節"
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    ' CheckedItemsを使ってコントロール内のオンになっている項目のコレクションを取得します。
    Dim Checkeditems As CheckedCheckBoxItemCollection = GcCheckedGroupBox1.CheckedItems
    For Each item As CheckBoxItem In Checkeditems
        System.Diagnostics.Debug.WriteLine(item.Text)
    Next
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    ' CheckedIndicesを使ってコントロール内のオンになっている項目のインデックスのコレクションを取得します。
    Dim Checkeditems As CheckedCheckBoxIndexCollection = GcCheckedGroupBox1.CheckedIndices
    For Each index As Integer In Checkeditems
        System.Diagnostics.Debug.WriteLine(index.ToString())
    Next
End Sub
using GrapeCity.Win.Containers;

private void Form1_Load(object sender, EventArgs e)
{
    CheckBoxItem checkitem1 = new CheckBoxItem();
    checkitem1.Text = "春";
    checkitem1.Checked = true;
    gcCheckedGroupBox1.Items.Add(checkitem1);

    CheckBoxItem checkitem2 = new CheckBoxItem();
    checkitem2.Text = "夏";
    checkitem2.Checked = false;
    gcCheckedGroupBox1.Items.Add(checkitem2);

    CheckBoxItem checkitem3 = new CheckBoxItem();
    checkitem3.Text = "秋";
    checkitem3.Checked = true;
    gcCheckedGroupBox1.Items.Add(checkitem3);

    CheckBoxItem checkitem4 = new CheckBoxItem();
    checkitem4.Text = "冬";
    checkitem4.Checked = true;
    gcCheckedGroupBox1.Items.Add(checkitem4);

    gcCheckedGroupBox1.Text = "好きな季節";
}

private void button1_Click(object sender, EventArgs e)
{
    // CheckedItemsを使ってコントロール内のオンになっている項目のコレクションを取得します。
    CheckedCheckBoxItemCollection checkeditems = gcCheckedGroupBox1.CheckedItems;
    foreach (CheckBoxItem item in checkeditems)
    {
        System.Diagnostics.Debug.WriteLine(item.Text);
    }
}

private void button2_Click(object sender, EventArgs e)
{
    // CheckedIndicesを使ってコントロール内のオンになっている項目のインデックスのコレクションを取得します。
    CheckedCheckBoxIndexCollection checkeditems = gcCheckedGroupBox1.CheckedIndices;
    foreach (int index in checkeditems)
    {
        System.Diagnostics.Debug.WriteLine(index.ToString());
    }
}
出力結果:
button1_Click
春
秋
冬

button2_Click
0
2
3

実行時にチェックボックスのチェック状態が変更されるとItemCheckedChanged イベントが発生します。また、チェックボックスをクリックしたときにはチェック状態の変更に関係なくItemClick イベントが発生します。
参照