2012年7月5日木曜日

C# ラジオボタンの値の設定&取得

C#でラジオボタンの値を設定&取得する方法。


[コード]
using System;
using System.Windows.Forms;
using System.Drawing;

class Sample
{
    [STAThread]
    public static void Main()
    {
        Application.Run(new MainForm());
    }
}

class MainForm : Form
{
    private RadioButton[] rButton = new RadioButton[2]; //ラジオボタン
    private GroupBox gBox = new GroupBox();             //グループボックス
    private Label lb = new Label();                     //ラベル
    private Button bt = new Button();                   //ボタン

    public MainForm()
    {
        //値の設定
        rButton[0] = new RadioButton();
        rButton[0].Text = "日本語";
        rButton[0].Location = new Point(0, 10);
        rButton[1] = new RadioButton();
        rButton[1].Text = "英語";
        rButton[1].Top = rButton[0].Bottom;
        rButton[0].Checked = true;

        gBox.Text = "言語";
        gBox.Dock = DockStyle.Top;
       
        lb.Text = "";
        lb.AutoSize = true;
        lb.Top = gBox.Bottom;

        bt.Text = "値を取得";
        bt.AutoSize = true;
        bt.Top = lb.Bottom;

        gBox.Controls.Add(rButton[0]);
        gBox.Controls.Add(rButton[1]);
        this.Controls.Add(gBox);
        this.Controls.Add(lb);
        this.Controls.Add(bt);

        bt.Click += new EventHandler(bt_Click);
    }
    public void bt_Click(Object sender, EventArgs e)
    {
        lb.Text = "";
        //値を取得
        for (int i = 0; i < rButton.Length; i++)
        {
            if (rButton[i].Checked)
            {
                lb.Text += rButton[i].Text;
            }
        }        
    }
}

[説明]
ラジオボタンの値の設定&取得には、textプロパティを利用する。
rButton[0].Text = "日本語";」が設定部分。
lb.Text += rButton[i].Text;」が取得部分。


チェックされているかどうかは、Checkedプロパティで確認する。チェックされていればtrue。チェックされていなければfalse。