【学習】WinFormsでチェックボックスを使ってみよう(複数選択)
これまでの学習では、
- ボタンを押す
- ラベルに表示する
という形でプログラムを動かしてきました。
しかし、フォームにはもう一つの入力方法があります。
ユーザーが選ぶ
という仕組みです。チェックボックスやラジオボタンを使うと、選択肢から選んでもらう画面が作れます。
今回は CheckBox(チェックボックス) を使って、複数のオプションを選べるアプリを作ります。
今日作るもの
メール通知を受け取る にチェックを入れると
メール通知:ON
と表示されます。チェックを外すと OFF に変わります。
複数のチェックボックスを配置すれば、複数選択もできます。
ソリューションとプロジェクトを作る
Visual Studio で新しいプロジェクトを作ります。
- テンプレート: Windows Forms アプリ (.NET Framework)
- ソリューション名: SelectSample
- プロジェクト名: CheckBoxDemo
作成すると Form1 が表示されます。
フォームに配置するコントロール
フォームに次のものを配置します。
| コントロール | 名前 |
|---|---|
| CheckBox | mailCheckBox |
| Button | confirmButton |
| Label | resultLabel |
CheckBox の Text プロパティを「メール通知を受け取る」に設定します。
Checkedプロパティとは
チェックボックスには Checked というプロパティがあります。
mailCheckBox.Checked == true→ チェックが入っているmailCheckBox.Checked == false→ チェックが外れている
この値を if 文で判定して、表示を変えます。
ボタンのイベントを登録する
confirmButton をダブルクリックすると confirmButton_Click イベントが作成されます。
ここで Checked の状態を確認して、Label に表示します。
完成コード
using System;
using System.Windows.Forms;
namespace SelectSample
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void confirmButton_Click(object sender, EventArgs e)
{
if (mailCheckBox.Checked)
{
resultLabel.Text = "メール通知:ON";
}
else
{
resultLabel.Text = "メール通知:OFF";
}
}
}
}
プログラムの流れ
確認ボタンを押す
↓
mailCheckBox.Checked を判定
↓
true なら「ON」、false なら「OFF」
↓
resultLabel に表示
重要ポイント
チェックボックスは「複数選択できる」 入力です。
- 複数の CheckBox を配置できる
- それぞれ独立して ON/OFF を切り替えられる
Checkedプロパティで状態を取得する
アンケート、設定画面、オプション選択などでよく使います。
発展:複数チェックボックス
複数の CheckBox を配置すると、トッピング選択やオプション選択が作れます。
string options = "";
if (option1CheckBox.Checked) options += "オプション1 ";
if (option2CheckBox.Checked) options += "オプション2 ";
resultLabel.Text = options;
発展アイデア
チェックボックスを使うと次のようなものも作れます。
- アンケートフォーム(複数回答可)
- 設定画面(機能のON/OFF)
- トッピング選択
- 同意確認(チェックしないと次へ進めない)
チェックボックスは選択UIの基本の一つです。



ディスカッション
コメント一覧
まだ、コメントがありません