PR

C#CheckBoxの使い方

記事内に広告が含まれています。

よく使いそうな基本的な使い方のみ記載します。

CheckBoxの配置方法

ツールボックスのCheckBoxを選択し、Formのデザイン上でクリックすることで配置できます。
表示名は最初のままですが、プロパティのTextから変更することができます。

チェック変更イベント

チェックボックスなのでチェックが変更されたタイミングでイベント処理を行いたいことがあります。
この場合チェックが変更されたというイベントが必要となります。
Formのデザイン上でCheckBoxをダブルクリックするとCheckedChangedイベントが自動で作成されます。
もしくはFormのデザイン上でCheckBoxを選択した状態でプロパティを表示し、アクションのCheckedChangedの右側の入力部分をダブルクリックでも自動で作成できます。

以下のようなイベントが自動で作成されます。

これだけだとイベントの内容が何もないので、チェックしてみても何も起きません。
そのため、チェックに応じてメッセージボックスを表示するようにしてみます。
対象のコントロールのCheckedでチェック状態が確認できます。

        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox1.Checked)
            {
                MessageBox.Show("チェックされました。");
            }
            else
            {
                MessageBox.Show("チェックが外されました");
            }
        }

実際にビルドして確認してみるとチェックに応じてメッセージが変わることが確認できます。

ただし、これだとチェックが変更されるたびにイベントが発生するため、コード上からチェック状態を変更した場合にもメッセージが出ます。
例えばボタンでチェックを変更できるようにした場合にもメッセージが出ます。

        private void button1_Click(object sender, EventArgs e)
        {
            checkBox1.Checked = !checkBox1.Checked;
        }

そのためUIからのチェック切り替え以外ではメッセージを出したくない場合は、CheckedChangedイベントではなく、Clickイベントを使用します。

見た目をボタンにする

CheckBoxですが、見た目をボタンにすることができます。
プロパティのAppearanceをButtonにするだけで変更することができます。

これの利点は簡単にオルタネイトボタンが作成できることです。
通常のボタンはモーメンタリなのでボタンの上にマウスカーソルがあるか、クリックしているときだけ色が変わります。
CheckBoxのボタンであればON/OFFを切り替えるといったようにも使えます。
以下に例としてCheckBox2とCheckBox3をボタン表示にして、CheckBox2だけチェックした場合を見ると利点がわかるかと思います。

タイトルとURLをコピーしました