[Tips][CheckBox] 3つの状態を使用する

本記事はWindowsアプリケーションのTipsです。


CheckBoxは3つの状態を表現することがきます。通常はチェックされた状態と未チェックの状態だけですが、これに加えて中間の状態(チェック状態でかつグレー表示)を表すことができます。3つの状態を表現できるようにするにはThreeStateプロパティをTrueにします。それぞれの状態は CheckStateプロパティを使用して切り替えます。CheckStateプロパティには表1に示すCheckState列挙対の値を指定します。

メンバ名 説明
Checked チェック状態
Unchecked 未チェック状態
Indeterminate チェック状態だがグレー表示

サンプルでは、フォームがロードされたときにチェックボックスが3つの状態を使用できるようにしています。また、Button1がクリックされたときに現在の状態を表示するようにしています。

VBの例

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    '3つの状態を使用できるようにする
    CheckBox1.ThreeState = True
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    'チェック状態の確認
    Select Case CheckBox1.CheckState
        Case CheckState.Checked
            MessageBox.Show("チェックされています。")
        Case CheckState.Indeterminate
            MessageBox.Show("中間の状態です。")
        Case CheckState.Unchecked
            MessageBox.Show("未チェック状態です。")
    End Select
End Sub

C#の例

private void Form1_Load(object sender, EventArgs e)
{
    //3つの状態を使用できるようにする
    checkBox1.ThreeState = true;
}

private void button1_Click(object sender, EventArgs e)
{
    //チェック状態の確認
    switch (checkBox1.CheckState)
    {
        case CheckState.Checked:
            MessageBox.Show("チェックされています。");
            break;
        case CheckState.Indeterminate:
            MessageBox.Show("中間の状態です。");
            break;
        case CheckState.Unchecked:
            MessageBox.Show("未チェック状態です。");
            break;
    }
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.