ライン コントロールとシェイプ コントロールの概要 (Visual Studio)
Visual Basic Power Packs のライン コントロールとシェイプ コントロールは、3 つのグラフィカル コントロールの集まりであり、これらを使用してフォームおよびコンテナーに線と図形を描画できます。LineShape コントロールは、横線、縦線、および斜線の描画に使用します。OvalShape コントロールは円と楕円の描画に使用し、RectangleShape コントロールは長方形と正方形の描画に使用します。
ライン コントロールとシェイプ コントロール
ライン コントロールとシェイプ コントロールは、System.Drawing 名前空間に含まれるグラフィックス メソッドの多くをカプセル化しています。そのため、グラフィックス オブジェクト、ペン、およびブラシを作成することなく、1 回の手順で線と図形を描画できます。グラデーション塗りつぶしなどの複雑なグラフィックス手法も、いくつかのプロパティを設定するだけで実現できます。
グラフィックス メソッドを使用して線と図形を描画することもできますが、ライン コントロールとシェイプ コントロールを使用すると、次のような利点があります。
グラフィックス メソッドを呼び出すことができるのは実行時のみです。ライン コントロールとシェイプ コントロールは、デザイン時にフォームに追加できます。これによって外観を確認でき、正確に配置できます。また、これらのコントロールは実行時に追加することもできます。
ライン コントロールとシェイプ コントロールは、実行時に選択でき、Click や OnDoubleClick などのイベントを提供します。グラフィックス メソッドの出力は選択できず、イベントを提供しません。
ライン コントロールとシェイプ コントロールには、BringToFront メソッドおよび SendToBack メソッドがあり、これらのメソッドによってデザイン時にも実行時にも z オーダーを制御できます。グラフィックス メソッドの z オーダーは、実行時の実行順序を変更することによってのみ制御できます。
ライン コントロールとシェイプ コントロールはウィンドウなしのコントロールであり、ウィンドウ ハンドルがないのでシステム リソースの消費が少なく済みます。
オブジェクト モデル
ライン コントロールとシェイプ コントロールは、共有プロパティ、共有メソッド、共有イベントを定義する基本 Shape クラスから派生しています。
ラインとシェイプのオブジェクト階層を次の図に示します。
ラインとシェイプのオブジェクト階層
派生する LineShape クラスには、線に固有のプロパティ、メソッド、およびイベントがあります。派生する SimpleShape クラスは OvalShape と RectangleShape の基本クラスであり、このクラスには、すべての図形に共通のプロパティ、メソッド、およびイベントがあります。独自の Shape コントロールを SimpleShape から派生させて作成することもできます。
OvalShape クラスおよび RectangleShape クラスは、円、楕円、四角形、および角の丸い四角形の描画に使用できます。
フォームまたはコンテナーにライン コントロールまたはシェイプ コントロールを追加すると、非表示の ShapeContainer オブジェクトが作成されます。ShapeContainer は、各コンテナー コントロール内で図形のキャンバスとして機能します。各 ShapeContainer には対応する ShapeCollection があり、これによって、ライン コントロールとシェイプ コントロールを反復処理できます。カット アンド ペーストまたはドラッグ アンド ドロップを使用して、コンテナー間で図形を移動できます。コンテナーから最後の図形を削除すると、ShapeContainer も削除されます。
[!メモ]
すべてのコンテナー コントロールがライン コントロールとシェイプ コントロールをサポートしているわけではありません。TableLayoutPanel または FlowLayoutPanel では、ライン コントロールまたはシェイプ コントロールをホストできません。
参照
処理手順
方法 : LineShape コントロールを使用して線を描画する (Visual Studio)
方法 : OvalShape コントロールおよび RectangleShape コントロールを使用して図形を描画する (Visual Studio)
方法 : 図形間のタブ移動を有効にする (Visual Studio)