連載:Windowsフォーム開発入門【Visual Studio 2010対応】
Windowsフォーム用テンプレートに学ぶ画面の作り方 初音 玲2010/06/29 |
|
Visual Studioの魅力の1つに豊富なテンプレートの存在がある。Visual Studio 2010にもWindowsフォーム用テンプレートが多数搭載されている。
Visual Basic 10の場合、図1にあるように、基本となる「Windows フォーム」テンプレートから、あらかじめコントロールなどの部品が配置されたレイアウト/デザイン済みのWindowsフォームなど、合計で7つのWindowsフォーム用テンプレートが付属している。
(1) 「Windows フォーム」
(2) 「MDI 親フォーム」
(3) 「エクスプローラー フォーム」
(4) 「スプラッシュ スクリーン」
(5) 「ダイアログ」
(6) 「ログイン フォーム」
(7) 「情報ボックス」
これらのテンプレートを利用してWindowsフォーム(のソース・ファイル)をプロジェクトに追加すると、ひな型となるフォーム・デザインと、それに付随する必要最小限度のコードが生成される。これだけでも、Windowsフォーム・プログラミングの最初のお手本になる。
そこで以下では、これら7つのテンプレートで生成されたWindowsフォームのレイアウト・デザインの内容とソース・コードの両方を、それぞれ詳しく見ていきたいと思う。
●Visual C#の場合の注意点
ただし、理由は不明だが残念なことに、Visual C# 4には(1)(2)(7)の3つのテンプレートしか付属していない。次の画面は[新しい項目の追加]ダイアログに表示されるVisual C#の場合のテンプレートの例。
図2 Windowsフォーム用テンプレート(C#) |
そこで本稿では、C#で不足しているWindowsフォーム・テンプレート「エクスプローラー フォーム」「スプラッシュ スクリーン」「ダイアログ」「ログイン フォーム」については、生成されたVBのひな型コードからC#のコードを書き起こして紹介する。なお、この差は、Visual Studio 2010特有ではなく、従来のVisual Studio 2005やVisual Studio 2008のC#でも同様である。
※本稿はVisual Studio 2010で開発することを前提としている。また、開発言語はVisual Basic(VB)である(ポイントとなる個所では、C#による説明も行う)。開発環境が手元にない場合は、無償のVisual Basic 2010 Expressを利用してほしい。
本稿で作成するサンプル・コードは、下記のリンクからダウンロードできる。
■(1)「Windowsフォーム」テンプレート[VB][C#]
まずは最もシンプルな「Windowsフォーム」テンプレートの生成内容を簡単に説明しよう。
[新しい項目の追加]ダイアログで「Windows フォーム」テンプレートを選び、例えば「Form1.vb」という名前でファイルの新規追加を行えば、Form1.vbファイルが既存のプロジェクトに追加される。このファイルの内容は下記のコードのようになっており、フォームにはコントロールが何も貼りついていない状態である。
|
|
リスト1 空のWindowsフォームのコード内容(VB) |
VBの場合、このPublic Classのベース・クラス(=基本クラス)はFormクラス(System.Windows.Forms名前空間)であるが、それを示す記述はForm1.vbファイルにはない。この記述は、Form1.Designer.vbファイル(=Form1.vbファイルのペアとなるファイル。前回説明)に出力されているからだ。このように一部のコードは、.Designer.vbファイルに分離されている。なお、名前空間を宣言するためのImportsディレクティブは、プロジェクト・プロパティの[参照]タブ(厳密には.vbprojファイル)に出力される。
C#の場合、Form1.vbファイルに対応するのはForm1.csファイルとなるが、ベース・クラス名や、名前空間を宣言するためのusingディレクティブ、初期化処理の明示的な呼び出しは、Form1.csファイルに自動出力される。次のコードはその出力例である。
|
|
リスト2 空のWindowsフォームの内容(C#) |
続いて、(2)「MDI親フォーム」テンプレートで生成される、ひな型のフォーム・レイアウト・デザインとソース・コードを説明する。
INDEX | ||
[連載]Windowsフォーム開発入門【Visual Studio 2010対応】 | ||
Windowsフォーム用テンプレートに学ぶ画面の作り方 | ||
1.Windowsフォーム用の7つのテンプレート/(1)Windowsフォーム | ||
2.(2)MDI親フォーム | ||
3.(3)エクスプローラ・フォーム | ||
4.(4)スプラッシュ・スクリーン | ||
5.(5)ダイアログ/(6)ログイン・フォーム/(7)情報ボックス | ||
「Windowsフォーム開発入門」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|
- - PR -