次の方法で共有


ShapeCollection クラス

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

継承階層

System.Object
  Microsoft.VisualBasic.PowerPacks.ShapeCollection

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

構文

'宣言
Public NotInheritable Class ShapeCollection _
    Implements IList, IDisposable
public sealed class ShapeCollection : IList, 
    IDisposable
public ref class ShapeCollection sealed : IList, 
    IDisposable
[<Sealed>]
type ShapeCollection =  
    class
        interface IList
        interface IDisposable
    end
public final class ShapeCollection implements IList, IDisposable

ShapeCollection 型で公開されるメンバーは以下のとおりです。

コンストラクター

  名前 説明
パブリック メソッド ShapeCollection ShapeCollection クラスの新しいインスタンスを初期化します。

このページのトップへ

プロパティ

  名前 説明
パブリック プロパティ Count コレクション クラスの形状の数を取得します。
パブリック プロパティ IsReadOnly コレクションが読み取り専用かどうかを示す値を取得します。
パブリック プロパティ Item コレクション内の指定されたインデックス位置に Shape を取得します。
パブリック プロパティ Owner ShapeContainer を取得します ShapeCollection を所有する。

このページのトップへ

メソッド

  名前 説明
パブリック メソッド Add 指定した Shape を ShapeCollection に追加します。
パブリック メソッド AddRange ShapeCollection への Shape のオブジェクトの配列を追加します。
パブリック メソッド Clear コレクションからすべての図形を削除します。
パブリック メソッド Contains 指定 Shape がコレクションのメンバーかどうかを判定します。
パブリック メソッド ContainsKey 指定したキーを持つ項目が ShapeCollection に含まれているかどうかを確認します。
パブリック メソッド CopyTo コピー先の配列の指定したインデックス位置から開始して、互換性のある 1 次元 Array に ShapeCollection 全体をコピーします。
パブリック メソッド Dispose ShapeCollection によって使用されているアンマネージ リソースを解放します。
パブリック メソッド Equals 指定のオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetChildIndex(Shape) ShapeCollection の指定 Shape のインデックスを取得します。
パブリック メソッド GetChildIndex(Shape, Boolean) 指定 Shape が ShapeCollection にある ShapeCollection の指定 Shape のインデックスを取得し、必要に応じて例外を発生させます。
パブリック メソッド GetEnumerator ShapeCollection の反復処理に使用する列挙体オブジェクトへの参照を取得します。
パブリック メソッド GetHashCode 特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッド GetType 現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド IndexOf ShapeCollection の指定 Shape のインデックスを取得します。
パブリック メソッド IndexOfKey コレクション内の指定されたアイテムの最初の文字のインデックスを取得します。
パブリック メソッド Remove 指定した Shape を ShapeCollection から削除します。
パブリック メソッド RemoveAt 指定したインデックス位置に ShapeCollection から Shape を削除します。
パブリック メソッド SetChildIndex 指定されたインデックス値に ShapeCollection の指定 Shape のインデックスを設定します。
パブリック メソッド ToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)

このページのトップへ

明示的インターフェイスの実装

  名前 説明
明示的なインターフェイス実装プライベート メソッド IList.Add
明示的なインターフェイス実装プライベート メソッド IList.Contains
明示的なインターフェイス実装プライベート メソッド ICollection.CopyTo
明示的なインターフェイス実装プライベート メソッド IList.IndexOf
明示的なインターフェイス実装プライベート メソッド IList.Insert
明示的なインターフェイス実装プライベート プロパティ IList.IsFixedSize
明示的なインターフェイス実装プライベート プロパティ ICollection.IsSynchronized
明示的なインターフェイス実装プライベート メソッド IList.Remove
明示的なインターフェイス実装プライベート プロパティ ICollection.SyncRoot

このページのトップへ

解説

Add は、RemoveRemoveAt のメソッドは、コレクションから個々の図形の追加や削除を行うことができます。コレクションからすべての図形を追加または削除するに AddRange または Clear のメソッドを使用できます。

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

次のコード例は、フォームの ShapeCollection から、コレクションのメンバーで Shape を削除します。例では、フォームの LineShapeOvalShapeRectangleShape のコントロールがあることが必要です。図形をクリックすると、コレクションの最後の図形である 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);
        }
    }
}

スレッド セーフ

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

参照

関連項目

Microsoft.VisualBasic.PowerPacks 名前空間

その他の技術情報

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

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

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