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は、Removeと RemoveAt のメソッドはコレクションから個々の図形の追加や削除を行うことができます。 、コレクションからすべての図形を追加または削除するに AddRange または Clear のメソッドを使用できます。
Shape が Contains のメソッドに図形を渡すことによって、コレクションのメンバーにするかどうかを判断することができます。 コレクションの図形の位置のインデックス値を取得するには、IndexOf のメソッドに図形を渡します。 配列に CopyTo のメソッドを呼び出して、コレクションをコピーできます。
例
次のコード例はフォームの ShapeCollection から、コレクションのメンバーである場合 Shape を削除します。 例では、フォームの LineShape、OvalShapeと 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);
}
}
}
スレッド セーフ
この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。
参照
関連項目
Microsoft.VisualBasic.PowerPacks 名前空間
その他の技術情報
ライン コントロールとシェイプ コントロールの概要 (Visual Studio)
方法 : LineShape コントロールを使用して線を描画する (Visual Studio)
方法 : OvalShape コントロールおよび RectangleShape コントロールを使用して図形を描画する (Visual Studio)