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
备注
您可以通过 Add、Remove 和 RemoveAt 方法向集合添加和从中移除单个形状。还可以使用 AddRange 或 Clear 方法向集合添加或从中移除所有形状。
您可以通过将 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) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
另请参见
参考
Microsoft.VisualBasic.PowerPacks 命名空间
其他资源
Line 和 Shape 控件简介 (Visual Studio)