ライン コントロールとシェイプ コントロールの概要 (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)