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 获取拥有 ShapeCollection的 ShapeContainer

页首

方法

  名称 说明
公共方法 Add 将指定的 Shape 添加到 ShapeCollection。
公共方法 AddRange 添加数组到 ShapeCollection的 Shape 对象。
公共方法 Clear 从集合中移除所有形状。
公共方法 Contains 确定指定的 Shape 是否是集合的成员。
公共方法 ContainsKey 确定 ShapeCollection 是否包含具有指定键的项。
公共方法 CopyTo 复制整个 ShapeCollection 于兼容的一维 Array,开始在目标数组的指定索引。
公共方法 Dispose 释放 ShapeCollection 使用的非托管资源。
公共方法 Equals 确定指定的对象是否等于当前对象。 (继承自 Object。)
公共方法 GetChildIndex(Shape) 检索指定的 Shape 的索引。 ShapeCollection的。
公共方法 GetChildIndex(Shape, Boolean) 因此,如果指定的 Shape 不在 ShapeCollection,检索指定的 Shape 的索引。 ShapeCollection的并可以选择是否引发异常。
公共方法 GetEnumerator 检索对用于循环访问 ShapeCollection 的枚举数对象的引用。
公共方法 GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
公共方法 IndexOf 检索指定的 Shape 的索引。 ShapeCollection的。
公共方法 IndexOfKey 检索指定项目的第一个匹配项的索引集合中的。
公共方法 Remove 从 ShapeCollection 中移除指定的 Shape
公共方法 RemoveAt 从 ShapeCollection 移除 Shape 在指定的索引位置。
公共方法 SetChildIndex 设置指定的 Shape 的索引。 ShapeCollection 于指定的索引值。
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)

页首

显式接口实现

  名称 说明
显式接口实现私有方法 IList.Add
显式接口实现私有方法 IList.Contains
显式接口实现私有方法 ICollection.CopyTo
显式接口实现私有方法 IList.IndexOf
显式接口实现私有方法 IList.Insert
显式接口实现私有属性 IList.IsFixedSize
显式接口实现私有属性 ICollection.IsSynchronized
显式接口实现私有方法 IList.Remove
显式接口实现私有属性 ICollection.SyncRoot

页首

备注

AddRemoveRemoveAt 方法可以从集合中添加和移除各个形状。 还可以使用 AddRangeClear 方法从集合中添加或移除所有形状。

您可以确定 Shape 是否是集合的成员通过将形状。 Contains 方法。 获取形状的位置的索引值在集合,通过形状。 IndexOf 方法。 您可以将收集到数组通过调用 CopyTo 方法。

示例

,如果它是集合的成员,下面的代码示例将窗体的 ShapeCollection 移除 Shape 。 该示例要求您具有 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);
        }
    }
}

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualBasic.PowerPacks 命名空间

其他资源

Line 和 Shape 控件简介 (Visual Studio)

如何:使用 LineShape 控件绘制直线 (Visual Studio)

如何:使用 OvalShape 和 RectangleShape 控件绘制形状 (Visual Studio)