ShapeCollection 类

更新:2007 年 11 月

表示 Shape 对象的集合。

命名空间:  Microsoft.VisualBasic.PowerPacks
程序集:  Microsoft.VisualBasic.PowerPacks.Vs(在 Microsoft.VisualBasic.PowerPacks.Vs.dll 中)

语法

声明
Public NotInheritable Class ShapeCollection _
    Implements IList, IDisposable
用法
Dim instance As ShapeCollection
public sealed class ShapeCollection : IList, 
    IDisposable
public ref class ShapeCollection sealed : IList, 
    IDisposable
public final class ShapeCollection implements IList, IDisposable

备注

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

您可以通过将 Shape 传递给 Contains 方法来确定该形状是否为集合的成员。若要获取某个形状在集合中的位置的索引值,请将该形状传递给 IndexOf 方法。可以通过调用 CopyTo 方法将集合复制到数组中。

示例

下面的代码示例将 Shape 从窗体的 ShapeCollection 中移除,但前提是该形状是此集合的成员。此示例要求窗体上有一个 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);
        }
    }
}

继承层次结构

System.Object
  Microsoft.VisualBasic.PowerPacks.ShapeCollection

线程安全

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

另请参见

参考

ShapeCollection 成员

Microsoft.VisualBasic.PowerPacks 命名空间

其他资源

Line 和 Shape 控件简介 (Visual Studio)

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

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