従来のVB 6(Visual Basic 6.0)ではLineコントロール(直線を描くためのコントロール)が存在していた。しかし、.NETではこのようなコントロールは用意されていない。そこで本稿では、既存の.NETのコントロールを応用して、直線に見せ掛けるテクニックを紹介する。
.NETコントロールで直線に見せるテクニック
Lineコントロールの代わりに使用する.NETのコントロールは、Labelコントロールである。
これをフォーム上に配置して、まず次の設定を行う。
- Textプロパティを空にする
- AutoSizeプロパティをfalseに設定する
さらにコントロールのプロパティを次のように設定する。
(1)立体的な水平線の場合には……
- SizeプロパティのHeightプロパティを「2」に設定する
- BorderStyleプロパティを「Fixed3D」に設定する
(2) 平面的な水平線の場合には……
- SizeプロパティのHeightプロパティを「1」に設定する
- BorderStyleプロパティを「FixedSingle」に設定する
(3) 立体的な垂直線の場合には……
- SizeプロパティのWidthプロパティを「2」に設定する
- BorderStyleプロパティを「Fixed3D」に設定する
(4)平面的な垂直線の場合には……
- SizeプロパティのWidthプロパティを「1」に設定する
- BorderStyleプロパティを「FixedSingle」に設定する
例えば(2)の設定をコードで記述する場合には次のようになる。
this.label1.Text = "";
this.label1.Size = new System.Drawing.Size(240, 1);
this.label1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
Me.label1.Text = ""
Me.label1.Size = New System.Drawing.Size(240, 1)
Me.label1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
これらの実装を手動でコーディングするのではなく、Visual Studio .NETのWindowsフォーム・デザイナを使って行っているのが、次の画面である。
Visual Studio .NETによる水平線、垂直線の実装
Windowsフォーム・デザイナでWindowsフォーム上にLabelコントロールを配置し、[プロパティ]ウィンドウを使ってプロパティ設定をしていくだけで、直線を表現するコントロールを作成できる。なお、この画面例では示されていないが、Textプロパティの設定値は空にすること。
(1)立体的な水平線。
(2)平面的な水平線。
(3)立体的な垂直線。
(4)平面的な垂直線。
(5)Sizeプロパティの設定を行う。
(6)BorderStyleプロパティの設定を行う。
なお、このような代替手段ではなく、[ツールボックス]ウィンドウ上に配置可能な独自の直線コントロールを自作したい場合には、カスタム・コントロール(もしくはユーザー・コントロール)を作成するしかない。
カテゴリ:Windowsフォーム 処理対象:Labelコントロール
使用ライブラリ:Labelコントロール(System.Windows.Forms名前空間)
■更新履歴
【2009/01/28】(Visual Studio 2005以降では自動的にAutoSizeプロパティがtrueとなるため)AutoSizeプロパティをfalseに設定しなければならないことに関する記述を追記しました。
【2005/06/10】初版公開。
Copyright© Digital Advantage Corp. All Rights Reserved.