ラジオボタン


排他的なボタン

チェックボックスのように、事の真偽を示すコントロールは便利ですが
場合によって、それが排他的に行われる必要があるケースに遭遇します
つまり、複数の選択の中から1つのみを選択してほしい設定をユーザーにさせるときなどです

このような場合はラジオボタンを使うのが適当だと考えられます
ラジオボタンは System.Windows.Forms.RadioButton クラスで表されます
System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         System.Windows.Forms.Control
            System.Windows.Forms.ButtonBase
               System.Windows.Forms.RadioButton

public class RadioButton : ButtonBase
やはり、このクラスもデフォルトコンストラクタしか定義されていません
ラジオボタンは、チェックの管理のほかにグループの管理を行います
この点において、チェックボックスとラジオボタンは大きく違います

グループとは、同一のコンテナに含まれるラジオボタンの単位で考えられます
すなわち、親が同一のラジオボタンは同一のグループにあると言えます
グループ内のあるラジオボタンがチェックされると、他のボタンは全て解除されます
using System.Windows.Forms;
using System.Drawing;

class WinMain : Form {
	public static void Main(string[] args) {
		Application.Run(new WinMain());
	}

	public WinMain() {
		RadioButton[] bt = new RadioButton[3];
		string[] txt = {"Rena" , "Yuki" , "Mimi"};
		for(int i = 0 ; i < bt.Length ; i++) {
			bt[i] = new RadioButton();
			bt[i].Bounds = new Rectangle(0 , 30 * i , 200 , 30);
			bt[i].Text = txt[i];
			Controls.Add(bt[i]);
		}
	}
}


このプログラムは、クライアント領域に3つのラジオボタンを配置します
これらのラジオボタンは同一のグループであると認識されるため
特定のボタンをチェックすると、他のボタンのチェックは自動的にはずされます



前のページへ戻る次のページへ