//================================================================================================= // C#のチェックボックス // チェックボックスにチェックを入れる、または外すとラベルの文字が変化するプログラム。 // 「Checked」でチェックボックスの状態を取得できる。 // // // 参考文献:やさしいC#(p180) // 2012/11/14/オワタ //================================================================================================= using System; using System.Windows.Forms; class MyCheckBox : Form { private Label mLabel; //< ラベル private CheckBox[] mCheckBox = new CheckBox[2]; //< チェックボックス private FlowLayoutPanel mFlp; //< フローレイアウトパネル //< メイン関数 public static void Main() { Application.Run(new MyCheckBox()); } //< コンストラクタ public MyCheckBox() { //< Window設定 this.Text = "チェックボックス"; this.Width = 250; this.Height = 200; //< ラベル設定 mLabel = new Label(); mLabel.Text = "いらっしゃいませ"; mLabel.Dock = DockStyle.Top; //< Windowの上にドッキング mFlp = new FlowLayoutPanel(); mFlp.Dock = DockStyle.Bottom; //< Windowの下にドッキング //< チェックボックスの生成 mCheckBox[0] = new CheckBox(); mCheckBox[1] = new CheckBox(); //< チェックボックスの文字列設定 mCheckBox[0].Text = "車"; mCheckBox[1].Text = "トラック"; //< フローレイアウトパネルに設定 mCheckBox[0].Parent = mFlp; mCheckBox[1].Parent = mFlp; //< 同期 mLabel.Parent = this; mFlp.Parent = this; //< チェックボックスに変化があった時に処理される関数設定 mCheckBox[0].CheckedChanged += new EventHandler(checkBoxCheckChanged); mCheckBox[1].CheckedChanged += new EventHandler(checkBoxCheckChanged); } //< チェックボックスに変化が出たら処理される関数 public void checkBoxCheckChanged(Object obj, EventArgs e) { //< 変化があったチェックボックスをキャストを行って型を変換、tmpに格納 CheckBox tmp = (CheckBox)obj; //< チェックマークが付けられた時に処理される if (tmp.Checked == true) { mLabel.Text = tmp.Text + "を選びました。"; } //< チェックマークが外された時に処理される else if (tmp.Checked == false) { mLabel.Text = tmp.Text + "をやめました。"; } } };