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 は、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)