フジファブリックの『若者のすべて』を久々に聞いていて、夏の曲なのに冬に聞いてもいい曲だなと感じましたが、志村正彦が亡くなったのはクリスマスイブなんだな、と思うと寂しい感じです。
ということで、今回はC#のWindowsFormアプリケーションについてです。
WindowsFormアプリケーション
.NET frameworkのクラスライブラリの中のsystem.Windows.Formsパッケージにある「Form」というクラスを使うことで、実装できます。
実際に作成してみます。
Visual Studioを起動して、『ファイル』>『新規作成』>『プロジェクト』を選択します。
『テンプレート』で『Visual C#』を選択し、『Windows フォーム アプリケーション』を選択したら、一番下のほうにある『名前(N):』 や『場所(L):』を適当に決めたら『OK』をクリックします。
Form1.cs[デザイン]というものが表示された状態になります。
左にあるツールボックス『すべてのWindows フォーム』にあるフォームの部品を、Form1ウィンドウ上にドラッグ&ドロップしていくことでFormを作っていく感じです。
その前にコードの確認をしてみます。『ソリューションエクスプローラー』のForm1.csの上で右クリックし、「コードの表示(C)」を選択します。
Formクラスを継承したForm1クラスが作成されています。デフォルトの状態なので、Form1クラスにはコンストラクターしかない状態です。
using System.Windows.Formsとパッケージを読み込んでいるので、Formクラスが使えるようになっています。
WindowsFormアプリケーションの構成
プロジェクトの構成は、『ソリューション エクスプローラー』で確認できます。
デフォルトの状態では、クラスが2つあります。
- Form1.cs
- Form1.Deziner.cs
- Form1
- Program.cs
- Program
このうち、最終的にアプリの実行をしているのが、Program.csの
static void Main(){}
というメソッドですが、今回はProgram.csは特に触らない感じです。Form1.csを触っていくことになりますが、Form1.Deziner.csはフォームの部品を追加していくと自動でコードを生成してくれるのですが、特に触りません。
なので、今回はForm1.cs(Form1)ファイルのみを触っていく感じです。
Form1.cs[デザイン]にGroupBoxとRadioButtonを追加する
まずは、『ツールボックス』から『Group Box』を選択し、ドラッグ&ドロップでForm1ウィンドウズ上に持ってきます。
その次は、配置した『GroupBox』の中に『RadioButton』を配置します。
配置した『RadioButton』をCtrl + Vでコピペします。
『RadioButton』を4つぐらい配置します。
最後に『Button』をドラッグ&ドロップで配置します。
『プロパティ』のところの稲妻マークみたいなアイコンを選択すると、ボタンに何かしたときのイベントを設定できます。
『プロパティ』 のところで稲妻マークみたいなアイコンを選択すると、配置した『button1』に何かアクションしたときのイベントを設定できます。
今回は、Clickイベントを設定します。Clickのところに、『button_click』と入力し、Enterキーを押します。
Form1.cs(Form1)ファイルに、button_clickというメソッドが追加されました。このメソッドの中に処理を記述していきます。
チェックされたRadioButtonの情報を取得する
GroupBoxの中で、どのRadioButtonがチェックされているか調べることが出来るみたいです。button_click( )メソッドの中に記述していきます。
private void button_click(object sender, EventArgs e) { // GroupBox1の中のRadioButtonでチェックされているものを取得 var RadioGroup = groupBox1.Controls.OfType<radiobutton>().SingleOrDefault(rb => rb.Checked == true); // RadioButtonが押されていない場合 if (RadioGroup == null) { Console.WriteLine("RadioButtonがチェックされていません。"); } // RadioButton押された場合 else { Console.WriteLine(RadioGroup.Text); } }
コードを記述したら、実際に実行してみます。『開始』というボタンをクリックします。(『デバッグ』の「デバッグで開始」「デバッグなしで開始」でも実行できます。)
実際にForm1が表示されるので、radioButtonにチェックをつけてbutton1をクリックすると『出力』というところに選択されたRadioButtonのTextの値(『プロパティ』で設定・変更することができます。)が表示されます。
⇩ 下記サイトを参考にさせていただきました。
・【C#の小技】ラジオボタンのどれがチェックされているのか調べる【Visual Studio】
今回はこのへんで。