機械的配置なフォームから美しい配置のフォームへ(VS2005 フォームデザイナの新レイアウト機能)

まぁ、ほとんどの人がデフォルトのままで利用していれば、この新機能を利用しているのだと思うが、使っていない人は今すぐこの機能を利用するべし。この新機能を利用するには、Tool オプションのダイアログにある Windows Forms Designer のツリーを開き General のページのプロパティ LayoutMode を SnapLines にするだけだ。
RAD 開発において、デザイナ上でコンポーネントをフォームの上に配置し、レイアウトを設計するのは当たり前の機能となり、非常に重要な機能となっている。これまでの RAD 開発におけるフォームデザインでは、コンポーネントは領域…主に矩形であり、左上の座標と幅と高さをもってしてレイアウトを決定している。
ところが本来はそうではないはずで、文章作成においてワードプロセッサは常にベースラインを基準としてレイアウトを発行している。しかし、フォームデザインにおいてはベースラインを無視して領域の上や下や、そして中心を基準として配置されて続けてきたのだが、VS2005 ではついに「ライン」を基準としたレイアウトが可能になり、「ベースラインを基準とした整列」をはじめとする美しいレイアウトのフォームを手軽に作れるようになっているのだ。
スクリーンショットでも大量に張り込まないと説明しにくいのだが、この SnapLines モードでは従来のグリッド整列とは異なり

  • 別のコントロールと上端(下端/右端/左端)を同じにレイアウトする
  • 別のコントロールの中の文字列と自身の中の文字列のベースラインを同じ高さにレイアウトする
  • コンテナコントロールから一定の距離をとった位置にレイアウトする
  • 隣のコントロールから一定の距離に自身をレイアウトする

という機能がある。手元に VS2005 環境があるなら、フォーム上にサイズの違うコントロールとラベルやボタンを配置して、それらをドラッグして、上記の4種類がどのようにガイドラインとして表示されるか、ぜひ試してほしい。

── もう、コントロールを座標で配置したり座標でそろえたりするなんて必要はない ──

コントロール間の距離は、どのようにして決定されるのか?

という点や、コントロールにベースラインが含まれることをコントロールが通知する手段も知っておく必要があるだろう。
とりあえず、まずは、

このあたりから読まないといかんかな。