C#を使ってWindowsフォームアプリケーションを開発する際に、チェックボックスは非常によく使われるUI要素です。
複数の選択肢をユーザーに提示したり、オン/オフの状態を保持させたりといった用途に適しています。
本記事では、C#でのチェックボックスの基本的な使い方から、実用的なサンプルコードまで、初心者の方にもわかりやすく解説します。
実際のアプリケーション作成をイメージしながら学べる内容となっていますので、ぜひ参考にしてみてください。
チェックボックス(CheckBox)は、オン(チェックあり)かオフ(チェックなし)の2つの状態を持つコントロールです。
Windowsフォームアプリケーションでは、フォームに配置することで、ユーザーに選択肢を与えることができます。
Checked
プロパティで状態を確認可能チェックボックスは「はい/いいえ」や「このオプションを有効にする」といった使い方に最適です。
Visual Studioのフォームデザイナーを使って、ドラッグ&ドロップでチェックボックスをフォームに追加できます。
追加後は、プロパティウィンドウで以下の設定が可能です。
Name
:CheckBox1など、後からコードでアクセスするための名前Text
:チェックボックスに表示されるテキストChecked
:初期状態でチェックが入っているかどうかCheckBox checkBox1 = new CheckBox();
checkBox1.Text = "利用規約に同意する";
checkBox1.Location = new Point(30, 30);
this.Controls.Add(checkBox1);
このコードを使うと、フォーム上の任意の場所にチェックボックスを表示できます。
チェックボックスがチェックされているかどうかを調べるには、Checked
プロパティを使います。
if (checkBox1.Checked)
{
MessageBox.Show("チェックされています。");
}
else
{
MessageBox.Show("チェックされていません。");
}
Checked
はbool
型なので、true
またはfalse
の値を返します。
ユーザーがチェックボックスの状態を変更したときに何か処理をしたい場合は、CheckedChanged
イベントを使います。
checkBox1.CheckedChanged += new EventHandler(CheckBox1_CheckedChanged);
private void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
Console.WriteLine("チェックされました。");
}
else
{
Console.WriteLine("チェックが外れました。");
}
}
このイベントはチェックのオン・オフが切り替わるたびに呼び出されます。
複数のチェックボックスを並べて、ユーザーに複数の選択肢を提示するケースも多いです。
例えば、「趣味を選んでください」という設問に対して、以下のように実装できます。
CheckBox cb1 = new CheckBox { Text = "読書", Location = new Point(20, 20) };
CheckBox cb2 = new CheckBox { Text = "音楽", Location = new Point(20, 50) };
CheckBox cb3 = new CheckBox { Text = "運動", Location = new Point(20, 80) };
this.Controls.Add(cb1);
this.Controls.Add(cb2);
this.Controls.Add(cb3);
選ばれた趣味を表示するボタンを用意して、それぞれのChecked
を確認することで、柔軟な処理が可能です。
以下は、チェックボックスで選択された内容をボタンで表示する簡単なサンプルアプリです。
private void button1_Click(object sender, EventArgs e)
{
string message = "選択された商品:\n";
if (checkBoxA.Checked) message += "- A社製品\n";
if (checkBoxB.Checked) message += "- B社製品\n";
if (checkBoxC.Checked) message += "- C社製品\n";
if (!checkBoxA.Checked && !checkBoxB.Checked && !checkBoxC.Checked)
{
message = "何も選択されていません。";
}
MessageBox.Show(message, "確認");
}
このように、チェックボックスの組み合わせによって動的な処理が簡単に実現できます。
複数のチェックボックスがある場合、「すべて選択」「すべて解除」ボタンを設置することで利便性が向上します。
private void SelectAllCheckBoxes(bool isChecked)
{
foreach (Control ctrl in this.Controls)
{
if (ctrl is CheckBox)
{
((CheckBox)ctrl).Checked = isChecked;
}
}
}
このメソッドを呼び出すことで、全てのチェックボックスの状態をまとめて変更できます。
チェックボックスを参照する前にnullチェックを忘れている場合に起こります。
対策:フォームのInitializeComponent
後に処理する/nullチェックを行う。
if (checkBox1 != null && checkBox1.Checked)
{
// 安全なアクセス
}
チェックボックスは、C#でWindowsフォームアプリケーションを作成する上で欠かせないUI部品です。Checked
プロパティとCheckedChanged
イベントを組み合わせることで、柔軟なインタラクションが可能になります。
初心者の方はまず一つのチェックボックスからはじめ、複数チェックや一括操作など応用テクニックに挑戦してみましょう。
この記事が、あなたのC#開発の一助になれば幸いです。