【学習】WinFormsでラジオボタンを使ってみよう(1つだけ選択)

広告

Windows Forms アプリでは RadioButton(ラジオボタン) を使うことで、

  • サイズ選択(S / M / L)
  • 支払い方法(現金 / カード)
  • モード選択

のように、複数の中から1つだけ選ぶ画面が作れます。

チェックボックスでは複数選択できましたが、ラジオボタンは1つだけ選択です。同じグループ内で、選んだもの以外は自動で外れます。

今回はサイズ選択(S / M / L)のアプリを作ります。

今日作るもの

S / M / L のいずれかを選んで 確認 ボタンを押すと

選択したサイズ:M

のように、選んだサイズが表示されます。


ソリューションとプロジェクトを作る

チェックボックスのチュートリアルで作成した SelectSample ソリューションに、新しいプロジェクトを追加します。

  • ソリューションエクスプローラーでソリューションを右クリック → 追加 → 新しいプロジェクト
  • テンプレート: Windows Forms アプリ (.NET Framework)
  • プロジェクト名: RadioButtonDemo

作成すると Form1 が表示されます。


フォームに配置するコントロール

フォームに次のものを配置します。

コントロール名前
RadioButtonsmallRadioButton
RadioButtonmediumRadioButton
RadioButtonlargeRadioButton
ButtonconfirmButton
LabelresultLabel

各 RadioButton の Text を「S」「M」「L」に設定します。3つとも同じフォーム上に置くと、自動的に1つだけ選択されるグループになります。


Checkedプロパティとは

ラジオボタンも Checked プロパティで状態を取得します。

  • smallRadioButton.Checked → S が選ばれている
  • mediumRadioButton.Checked → M が選ばれている
  • largeRadioButton.Checked → L が選ばれている

if 文でどれが選ばれているか判定します。


ボタンのイベントを登録する

confirmButton をダブルクリックすると confirmButton_Click イベントが作成されます。

ここでどの RadioButton が 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 (smallRadioButton.Checked)
            {
                resultLabel.Text = "選択したサイズ:S";
            }
            else if (mediumRadioButton.Checked)
            {
                resultLabel.Text = "選択したサイズ:M";
            }
            else if (largeRadioButton.Checked)
            {
                resultLabel.Text = "選択したサイズ:L";
            }
        }
    }
}

プログラムの流れ

確認ボタンを押す
        ↓
smallRadioButton.Checked を判定
        ↓
true なら「S」を表示
        ↓
false なら mediumRadioButton を判定
        ↓
true なら「M」、false なら「L」を表示

重要ポイント

ラジオボタンは「1つだけ選択」 です。

  • 同じフォーム上の RadioButton は、1つ選ぶと他は自動で外れる
  • 複数のグループに分けたい場合は GroupBox で囲む
  • Checked プロパティでどれが選ばれているか取得する

チェックボックスとの違い:

種類選択の仕方
CheckBox複数選択できる
RadioButton1つだけ選択

発展:GroupBoxでグループ分け

「サイズ」と「色」のように、別々のグループで1つずつ選びたい場合は GroupBox を使います。

  1. GroupBox を2つ配置
  2. 1つ目の GroupBox に S / M / L の RadioButton を入れる
  3. 2つ目の GroupBox に 赤 / 青 / 緑 の RadioButton を入れる

これで「サイズ1つ」と「色1つ」をそれぞれ選べます。


発展アイデア

ラジオボタンを使うと次のようなものも作れます。

  • アンケート(単一回答)
  • 注文フォーム(サイズ・辛さ・温度など)
  • 設定画面(テーマ選択)
  • クイズ(答えを1つ選ぶ)

ラジオボタンは1つだけ選ぶ選択UIの基本です。

訪問数 3 回, 今日の訪問数 3回

広告