半人前プログラマーの技術談議

開発した物と,C#を入門者向けに解説した記事を書いています!

【C# GUI】基本操作 part4-1【Windowsフォーム】

calendar

reload

【C# GUI】基本操作 part4-1【Windowsフォーム】

こんにちは!シロウです!

今回からGUIアプリケーションについて紹介していきます!

Windowsフォームアプリケーション

プロジェクト

最初に,プロジェクトを作成しましょう.

手順

Visual Studioを起動したら,左上のファイルから新規作成→プロジェクトの順にクリックする.

新しいプロジェクトのダイアログボックスが表示されるので,左側のインストール済みタブから,Visual C#をクリックし,Windows フォームアプリケーション(.NET Framework)を選択し,画面下側の名前と場所を決めてOKをクリックする.

当記事では,フレームワークは .NET Framework 4.7.2 を使用します.

しばらくすると,自動的にフォームが表示されます.

ここまでできたら準備完了です.

試しに実行してみると,Form1という名前のGUIアプリケーションが表示されます.

フォーム

始めに,Form1は機械的に付けられた名前なので,自分で分かりやすい名前に変えておきましょう.

画面右端にあるソリューションエクスプローラーから,「Form1.cs」の名前を「MainForm.cs」に変更します.

ソリューションエクスプローラーでForm1を選択したら,右クリックして「名前の変更」を選択します.

F2キーを押しても変更できます.

参照をすべて変更しますか?というメッセージボックスが表示されるので「はい」を選択します.

プロジェクト内の全コードの中にあるForm1と言う名前が全てMainFormに書き換えられます.

次は,このフォームのコードを確認してみましょう.

ソリューションエクスプローラーから,MainForm.csを選択し,F7キーを押します.

または,「コードの表示」ボタンを押すか,右クリックして「コードの表示」を選択します.

下記のようなコードが出てくると思います.

MainFormは,Formクラスを継承したクラスである事がわかります.

スーパークラスであるFormの機能を使う事ができます.

既にコンストラクタが作成されており,その中で呼び出されているInitializeComponentメソッドは,コントロールの初期化を行うメソッドです.全体に削除しないでください.

コンストラクタ内に処理を書く場合は,InitializeComponentメソッドの後に書くようにしましょう.

partial

MainForm.csのコードの中に,partial キーワードがあると思います.

このキーワードは,このクラスのコードが別のファイル(モジュール)にも書かれているという事を意味しています.

ソリューションエクスプローラーから,MainFormの左の三角形をクリックして展開します.

すると,MainForm.Designer.csが現れます.

MainForm.Designer.csのコードを見てみると,

partial class MainForm が記述されている事が確認できます.

このコードは自動生成されるものなので,変更しないようにしましょう.

コントロールを設置

MainFormのデザインにタブを切り替えます.

切り替えるには,画面上部のMainForm.cs [デザイン] タブをクリックするか,ソリューションエクスプローラーの「MainForm.cs」をダブルクリックしましょう.

コントロールを配置するには,画面左側にあるツールボックスをクリックします.

見つからない場合は画面上部のメニューの表示からツールボックスをクリックします.

フォームの上にかぶってしまう場合は,「自動的に隠す」ボタンをクリックします.こうすることで,作業がしやすくなります.

コントロールは移動・サイズ変更ができます.フォーム上のコントロールをドラッグする事で移動できます.

また,選択後に枠線の白い四角(ハンドル)をドラッグするとサイズの変更ができます.

試しに,ツールボックスからコモンコントロールのButton,Labelを配置し,フォームのサイズを変えてみましょう.

コントロールのプロパティ

コントロールには,プロパティが存在します.

基本的に,コントロールの設定は画面右側下部にある,プロパティウィンドウから設定します.

プロパティウィンドウには4つのボタン(画像の赤枠)があり,一覧の並び替えや,プロパティとイベントの切り替えができます.

左から,

項目別,アルファベット順,プロパティ,イベント

です.

では,label1のプロパティから,TextをHello, World!に変更し,実行してみましょう.

Windowsフォームアプリケーションでは,主にプロパティでコントロールの設定,イベントに処理を記述してアプリケーションを作っていきます.

今回はここまで!

次回はイベントについて紹介します.