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 |
页首
备注
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 命名空间
其他资源
Line 和 Shape 控件简介 (Visual Studio)