次の方法で共有


ShapeCollection クラス

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

継承階層

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 ShapeCollection を所有する ShapeContainer を取得します。

このページのトップへ

メソッド

  名前 説明
パブリック メソッド Add 指定した Shape を ShapeCollection に追加します。
パブリック メソッド AddRange ShapeCollection に Shape オブジェクトの配列を追加します。
パブリック メソッド Clear コレクションからすべてのシェイプを削除します。
パブリック メソッド Contains 指定した Shape がコレクションのメンバーかどうかを確認します。
パブリック メソッド ContainsKey 指定したキーを持つ項目が ShapeCollection に含まれているかどうかを確認します。
パブリック メソッド CopyTo コピー先の配列の指定したインデックスを開始位置として、ShapeCollection 全体を互換性のある 1 次元の Array にコピーします。
パブリック メソッド Dispose ShapeCollection によって使用されているアンマネージ リソースを解放します。
パブリック メソッド Equals 指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetChildIndex(Shape) ShapeCollection 内の指定された Shape のインデックスを取得します。
パブリック メソッド GetChildIndex(Shape, Boolean) ShapeCollection で指定した Shape のインデックスを取得し、指定した Shape が ShapeCollection にない場合に必要に応じて例外を発生させます。
パブリック メソッド 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)