C#でWindowsFormsプログラミング

C#ラジオボタンとグループボックス

C#入門フォーム編の第4回です。ラジオボタンとグループボックスの使い方をマスターしましょう。「ラジオボタン」とは「男性」「女性」など複数の選択肢の中から一つだけ選ぶとに使うコントロールです。そしてそれをグルーピングする方法がいくつかありますが,今回はグループボックスを使います。それではやっていきましょう。

解説

ツールボックスよりGroupBoxを追加し,Textプロパティを「プラン」とします。

RadioButtonを2つプラングループボックス上に配置し,
下記の通りプロパティを変更する。
無料RadioButton:Name「FreeRadioButton」,Text「無料」
ビジネスRadioButton:Name「BusinessRadioButton」,Text「ビジネス」

Labelを追加しプロパティを変更する
Label:Name「NoteLabel」,Text「無制限で使えます」

この状態で実行

このように複数の選択氏の中から一つだけを選択させる場合はRadioButtonを使用します。今回は「ビジネス」選択時のみ「無制限で使えます」ラベルが表示されるようにします。ビジネスRadioButtonを選択し,イベントウィンドウからCheckedChangedをダブルクリックして,イベントを生成します。

NoteLabelの表示非表示の切り替えはVisibleプロパティを使用します。Trueのときのみ表示されます。今回はビジネスのチェックがTrueのときに表示されるようにするので下記のようなコードになります。

private void BusinessRadioButton_CheckedChanged(object sender, EventArgs e)
{
    NoteLabel.Visible = BusinessRadioButton.Checked;
}

実行して,無料とビジネスのチェック状態を切り替えると「無料」に時にラベルが非表示になります。

ただ,今回も起動時にビジネスが選択されていないのに,ラベルが表示されたままになっています。そこで下記のコードを加えます。

public UserSaveForm()
{
    InitializeComponent();

    MailCheckBox.Checked = true;
    MailCheckBoxChanged();

    FreeRadioButton.Checked = true; ←追加(起動時に無料チェック状態になる)
    NoteLabel.Visible = BusinessRadioButton.Checked; ←追加
}

これで起動時は「無料」が選択され,さらにラベルも非表示になります。

WindowsFormsプログラミング