Page5■(5)「ダイアログ」テンプレート[VB][新しい項目の追加]ダイアログで「ダイアログ」テンプレートを選ぶと、ダイアログとして表示するためのWindowsフォームがプロジェクトに追加される。このテンプレートは、C#には付属していない。生成されたダイアログでは、TableLayoutPanelコントロールの中にButtonコントロールが配置されている。Right」になっているので、WindowsフォームのサイズをIDEのWindowsフォーム・デザイナでドラッグ&ドロップにより変更しても、常に右下にボタンが位置してくれる。Right」にしたときにも同じ効果は得られるので、このようにTableLayoutPanelコントロールを使う必要はあまりなく、筆者自身も開発で使った経験がない。●ダイアログを作るためのWindowsフォームプロパティこのテンプレートで注目したいのは、ダイアログを実現するためのWindowsフォームに対するプロパティ設定値だ(下記の表を参照)。ダイアログを実現するには、これらのプロパティ設定を行う必要がある。フォーム」テンプレートを選ぶと、ユーザー名とパスワードを入力するためのダイアログのWindowsフォームがプロジェクトに追加される。業務アプリケーションを作成していると、ログイン・フォームは必ずといっていいほど作らなければならない。そのひな型として使えるので、かなり有用なテンプレートといえる。次の画面は、そのログイン・フォームをWindowsフォーム・デザイナで表示しているところである。ログイン・フォームのレイアウトログイン・フォームで注目したいのは、TextBoxコントロールの上部に、そのTextBoxに何を入力すればよいのかを説明したLabelコントロール(図19の例では[ユーザー名]や[パスワード])が配置されている点だ。エクスペリエンスのガイドライン」によれば、TextBoxの上部が正式な推奨配置位置である。それ以外にも「ユーザー名:」「パスワード:」のように「:」を末尾に付けることも推奨されているが、この推奨にはなぜか対応していない。LabelコントロールとTextBoxコントロールを横に配置するか縦に配置するかで大きな違いはないように思えるが、図19にあるように推奨配置に従えばTextBoxコントロールの上下間はおのずと空くことになり、ごちゃごちゃ感が少なくなる。タッチ・スクリーンやペン・タッチなどで操作する場合も、上下がある程度空いていた方がミス・タッチが少なくなる。日本の業務アプリケーションでは、横配置で「これでもか」とたくさんの情報を表示している例を見かけるが、そのような場合はGridコントロールなどの罫線があるデザインを検討し直した方がよいのかもしれない。■(7)「情報ボックス」テンプレート[VB][C#]一般的なWindowsフォーム・アプリケーションでは、メニューバーの[ヘルプ]‐[バージョン情報]をクリックしたときに、アプリケーションに関する情報がダイアログで表示される。このような画面は、「情報ボックス」テンプレートをプロジェクトに追加すれば簡単に用意できる。このテンプレートも業務アプリを作成するときに有用なものだ。情報ボックスの画面レイアウトは、ダイアログ形式のWindowsフォームにTableLayoutPanelコントロールを使って情報をうまくまとめたデザインになっている。次の画面は、その情報ボックスをWindowsフォーム・デザイナで表示しているところ。情報ボックスのレイアウト●情報ボックスに情報を出力するコード(VB)自動的に生成されているVBのコードは、My機能の「My.Application」を使って自身のアプリケーションに関する情報を取得するコードとして、とても良いサンプル・コードだ。以下にそのコード内容を示す。情報ボックス(VB)●情報ボックスに情報を出力するコード(C#)My機能はMicrosoft.VisualBasic名前空間のクラスなので、C#ではMy機能を使わずに自身のアプリケーションに関する情報を取得するコードが生成される。リスト12には掲載していないが、太字で示した各プロパティは「アセンブリ属性アクセサー」という名前で(ソース・ファイル内に)定義されているので、詳しくは情報ボックスで生成されるコードを参照してほしい。情報ボックス(C#)■まとめ今回取り上げたコントロールは以下のとおりだ。Studioに付属しているWindowsフォーム用のテンプレートを題材に、Windowsフォームの基本的なレイアウト・デザインを紹介した。本文中でも触れているように、必ずしもお手本としてふさわしくない部分もあるが、どのコントロールをどのように使えばよいか分からないときの道しるべにはなると思う。ログイン・フォーム、情報ボックス、スプラッシュ・スクリーンに使われている画面デザインが統一されているなど、アプリケーションを作成するうえでのデザイン統一という点でも参考になったと思う。エクスペリエンスのガイドライン」の内容も含めて紹介したいと思う。7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。TranslatorはPowerPoint用のアドイン。