ShapeCollection クラス

更新 : 2007 年 11 月

Shape オブジェクトのコレクションを表します。

名前空間 :  Microsoft.VisualBasic.PowerPacks
アセンブリ :  Microsoft.VisualBasic.PowerPacks.Vs (Microsoft.VisualBasic.PowerPacks.Vs.dll 内)

構文

'宣言
Public NotInheritable Class ShapeCollection _
    Implements IList, IDisposable
'使用
Dim instance As ShapeCollection
public sealed class ShapeCollection : IList, 
    IDisposable
public ref class ShapeCollection sealed : IList, 
    IDisposable
public final class ShapeCollection implements IList, IDisposable

解説

AddRemove、および RemoveAt の各メソッドを使用すると、コレクションの図形を個別に追加および削除できます。AddRange メソッドまたは Clear メソッドを使用して、コレクションのすべての図形を追加または削除することもできます。

図形を Contains メソッドに渡すことによって、Shape がコレクションのメンバかどうかを確認できます。コレクション内の図形の位置のインデックス値を取得するには、図形を IndexOf メソッドに渡します。CopyTo メソッドを呼び出すことによって、コレクションを配列の中にコピーできます。

Shape がフォームの ShapeCollection のメンバである場合に、その図形をコレクションから削除するコード例を次に示します。この例では、LineShapeOvalShape、および RectangleShape の各コントロールがフォーム上にあることが必要です。図形は、コレクション内の最後の図形である場合を除き、クリックすると ShapeCollection から削除されます。

Private Sub Shapes_Click(ByVal sender As System.Object, _
 ByVal e As System.EventArgs) Handles RectangleShape1.Click, _
 OvalShape1.Click, LineShape1.Click
    ' Determine whether the shape is in the collection.
    If ShapeContainer1.Shapes.Contains(sender) Then
        ' If the Index is greater than 0, remove the shape.
        If ShapeContainer1.Shapes.IndexOf(sender) > 0 Then
            ShapeContainer1.Shapes.Remove(sender)
        End If
    End If
End Sub
private void Shapes_Click(System.Object sender, System.EventArgs e)
{
    // Determine whether the shape is in the collection.
    if (shapeContainer1.Shapes.Contains((Shape)sender))
    // If the Index is greater than 0, remove the shape.
    {
        if (shapeContainer1.Shapes.IndexOf((Shape)sender) > 0)
        {
            shapeContainer1.Shapes.Remove((Shape)sender);
        }
    }
}

継承階層

System.Object
  Microsoft.VisualBasic.PowerPacks.ShapeCollection

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

参照

参照

ShapeCollection メンバ

Microsoft.VisualBasic.PowerPacks 名前空間

その他の技術情報

ライン コントロールとシェイプ コントロールの概要 (Visual Studio)

方法 : LineShape コントロールを使用して線を描画する (Visual Studio)

方法 : OvalShape コントロールおよび RectangleShape コントロールを使用して図形を描画する (Visual Studio)