.NET TIPS

Windowsフォームで直線コントロールを配置するには?

デジタルアドバンテージ 一色 政彦
2005/06/10
2009/01/28 更新

 従来のVB 6(Visual Basic 6.0)ではLineコントロール(直線を描くためのコントロール)が存在していた。しかし、.NETではこのようなコントロールは用意されていない。そこで本稿では、既存の.NETのコントロールを応用して、直線に見せ掛けるテクニックを紹介する。

.NETコントロールで直線に見せるテクニック

 Lineコントロールの代わりに使用する.NETのコントロールは、Labelコントロールである。

 これをフォーム上に配置して、まず次の設定を行う。

  • Textプロパティを空にする
  • AutoSizeプロパティをfalseに設定する

 さらにコントロールのプロパティを次のように設定する。

立体的な水平線の場合には……

  • SizeプロパティのHeightプロパティを「2」に設定する
  • BorderStyleプロパティを「Fixed3D」に設定する

平面的な水平線の場合には……

  • SizeプロパティのHeightプロパティを「1」に設定する
  • BorderStyleプロパティを「FixedSingle」に設定する

立体的な垂直線の場合には……

  • SizeプロパティのWidthプロパティを「2」に設定する
  • BorderStyleプロパティを「Fixed3D」に設定する

平面的な垂直線の場合には……

  • SizeプロパティのWidthプロパティを「1」に設定する
  • BorderStyleプロパティを「FixedSingle」に設定する

 例えばの設定をコードで記述する場合には次のようになる。

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
Labelコントロールを立体的な水平線に見せるサンプル・コード(上:C#、下:VB.NET)

 これらの実装を手動でコーディングするのではなく、Visual Studio .NETのWindowsフォーム・デザイナを使って行っているのが、次の画面である。

Visual Studio .NETによる水平線、垂直線の実装
Windowsフォーム・デザイナでWindowsフォーム上にLabelコントロールを配置し、[プロパティ]ウィンドウを使ってプロパティ設定をしていくだけで、直線を表現するコントロールを作成できる。なお、この画面例では示されていないが、Textプロパティの設定値は空にすること。
  立体的な水平線。
  平面的な水平線。
  立体的な垂直線。
  平面的な垂直線。
  Sizeプロパティの設定を行う。
  BorderStyleプロパティの設定を行う。

 なお、このような代替手段ではなく、[ツールボックス]ウィンドウ上に配置可能な独自の直線コントロールを自作したい場合には、カスタム・コントロール(もしくはユーザー・コントロール)を作成するしかない。End of Article

カテゴリ:Windowsフォーム 処理対象:Labelコントロール
使用ライブラリ:Labelコントロール(System.Windows.Forms名前空間)
 
この記事と関連性の高い別の.NET TIPS
Windowsフォームで直線を描くには?
VB PowerPacksの直線/丸/四角を選択されないようにするには?
WindowsアプリケーションをWindows XPスタイルの外観にするには?
Windowsフォームで四角を描くには?
Windowsフォームで円を描くには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」
更新履歴
【2009/01/28】(Visual Studio 2005以降では自動的にAutoSizeプロパティがtrueとなるため)AutoSizeプロパティをfalseに設定しなければならないことに関する記述を追記しました。

TechTargetジャパン

Insider.NET フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH