機械的配置なフォームから美しい配置のフォームへ(VS2005 フォームデザイナの新レイアウト機能)
まぁ、ほとんどの人がデフォルトのままで利用していれば、この新機能を利用しているのだと思うが、使っていない人は今すぐこの機能を利用するべし。この新機能を利用するには、Tool オプションのダイアログにある Windows Forms Designer のツリーを開き General のページのプロパティ LayoutMode を SnapLines にするだけだ。
RAD 開発において、デザイナ上でコンポーネントをフォームの上に配置し、レイアウトを設計するのは当たり前の機能となり、非常に重要な機能となっている。これまでの RAD 開発におけるフォームデザインでは、コンポーネントは領域…主に矩形であり、左上の座標と幅と高さをもってしてレイアウトを決定している。
ところが本来はそうではないはずで、文章作成においてワードプロセッサは常にベースラインを基準としてレイアウトを発行している。しかし、フォームデザインにおいてはベースラインを無視して領域の上や下や、そして中心を基準として配置されて続けてきたのだが、VS2005 ではついに「ライン」を基準としたレイアウトが可能になり、「ベースラインを基準とした整列」をはじめとする美しいレイアウトのフォームを手軽に作れるようになっているのだ。
スクリーンショットでも大量に張り込まないと説明しにくいのだが、この SnapLines モードでは従来のグリッド整列とは異なり
- 別のコントロールと上端(下端/右端/左端)を同じにレイアウトする
- 別のコントロールの中の文字列と自身の中の文字列のベースラインを同じ高さにレイアウトする
- コンテナコントロールから一定の距離をとった位置にレイアウトする
- 隣のコントロールから一定の距離に自身をレイアウトする
という機能がある。手元に VS2005 環境があるなら、フォーム上にサイズの違うコントロールとラベルやボタンを配置して、それらをドラッグして、上記の4種類がどのようにガイドラインとして表示されるか、ぜひ試してほしい。
── もう、コントロールを座標で配置したり座標でそろえたりするなんて必要はない ──
コントロール間の距離は、どのようにして決定されるのか?
という点や、コントロールにベースラインが含まれることをコントロールが通知する手段も知っておく必要があるだろう。
とりあえず、まずは、
- Walkthrough: Arranging Controls on Windows Forms Using Snaplines | Microsoft Docs
- Walkthrough: Laying Out Windows Forms Controls with Padding, Margins, and the AutoSize Property | Microsoft Docs
- Download Visual Studio 2005 Retired documentation from Official Microsoft Download Center
このあたりから読まないといかんかな。