ShapeContainer 类
提供一个容器。 LineShape, OvalShape, RectangleShape 控件以及为从 Shape派生的其他控件。
继承层次结构
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.ScrollableControl
System.Windows.Forms.ContainerControl
System.Windows.Forms.UserControl
Microsoft.VisualBasic.PowerPacks.ShapeContainer
命名空间: Microsoft.VisualBasic.PowerPacks
程序集: Microsoft.VisualBasic.PowerPacks.Vs(在 Microsoft.VisualBasic.PowerPacks.Vs.dll 中)
语法
声明
<BrowsableAttribute(False)> _
Public NotInheritable Class ShapeContainer _
Inherits UserControl
[BrowsableAttribute(false)]
public sealed class ShapeContainer : UserControl
[BrowsableAttribute(false)]
public ref class ShapeContainer sealed : public UserControl
[<Sealed>]
[<BrowsableAttribute(false)>]
type ShapeContainer =
class
inherit UserControl
end
public final class ShapeContainer extends UserControl
ShapeContainer 类型公开以下成员。
构造函数
名称 | 说明 | |
---|---|---|
ShapeContainer | 初始化 ShapeContainer 类的新实例。 |
页首
属性
名称 | 说明 | |
---|---|---|
AccessibilityObject | 获取分配给该控件的 AccessibleObject。 (继承自 Control。) | |
AccessibleDefaultActionDescription | 获取或设置控件的默认操作说明以供具有辅助功能的客户端应用程序使用。 (继承自 Control。) | |
AccessibleDescription | 获取或设置辅助功能客户端应用程序使用的控件说明。 (继承自 Control。) | |
AccessibleName | 获取或设置辅助功能客户端应用程序所使用的控件名称。 (继承自 Control。) | |
AccessibleRole | 获取或设置 ShapeContainer可访问的角色。 | |
ActiveControl | 获取或设置容器控件上的活动控件。 (继承自 ContainerControl。) | |
AllowDrop | 获取或设置一个值,该值指示控件是否可以接受用户拖放到它上面的数据。 (继承自 Control。) | |
Anchor | 获取或设置控件绑定到的容器的边缘并确定控件如何随其父级一起调整大小。 (继承自 Control。) | |
AutoScaleDimensions | 获取或设置控件的设计尺寸。 (继承自 ContainerControl。) | |
AutoScaleMode | 获取或设置控件的自动缩放模式。 (继承自 ContainerControl。) | |
AutoScroll | 获取或设置一个值,该值指示容器是否允许用户滚动到任何放置在其可见边界之外的控件。 (继承自 ScrollableControl。) | |
AutoScrollMargin | 获取或设置自动滚动边距的大小。 (继承自 ScrollableControl。) | |
AutoScrollMinSize | 获取或设置自动滚动的最小尺寸。 (继承自 ScrollableControl。) | |
AutoScrollOffset | 获取或设置一个值,该值指示在 ScrollControlIntoView 中将控件滚动到何处。 (继承自 Control。) | |
AutoScrollPosition | 获取或设置自动滚动定位的位置。 (继承自 ScrollableControl。) | |
AutoSize | 此属性与此类无关。 (继承自 UserControl。) | |
AutoSizeMode | 获取或设置控件将如何调整其自身大小。 (继承自 UserControl。) | |
AutoValidate | 获取或设置当用户将焦点更改到另一个控件时控件如何执行验证。 (继承自 UserControl。) | |
BackColor | 获取或设置控件的背景色。 (继承自 Control。) | |
BackgroundImage | 获取或设置在控件中显示的背景图像。 (继承自 Control。) | |
BackgroundImageLayout | 获取或设置在 ImageLayout 枚举中定义的背景图像布局。 (继承自 Control。) | |
BindingContext | 获取或设置控件的 BindingContext。 (继承自 ContainerControl。) | |
BorderStyle | 获取或设置用户控件的边框样式。 (继承自 UserControl。) | |
Bottom | 获取控件下边缘与其容器的工作区上边缘之间的距离(以像素为单位)。 (继承自 Control。) | |
Bounds | 获取或设置控件(包括其非工作区元素)相对于其父控件的大小和位置(以像素为单位)。 (继承自 Control。) | |
CanFocus | 获取一个值,该值指示控件是否可以接收焦点。 (继承自 Control。) | |
CanSelect | 获取一个值,该值指示是否可以选中控件。 (继承自 Control。) | |
Capture | 获取或设置一个值,该值指示控件是否已捕获鼠标。 (继承自 Control。) | |
CausesValidation | 获取或设置一个值,该值指示控件是否会引起在任何需要在接收焦点时执行验证的控件上执行验证。 (继承自 Control。) | |
ClientRectangle | 获取表示控件的工作区的矩形。 (继承自 Control。) | |
ClientSize | 获取或设置控件的工作区的高度和宽度。 (继承自 Control。) | |
CompanyName | 获取包含控件的应用程序的公司名称或创建者。 (继承自 Control。) | |
Container | 获取 IContainer,它包含 Component。 (继承自 Component。) | |
ContainsFocus | 获取一个值,该值指示控件或它的一个子控件当前是否有输入焦点。 (继承自 Control。) | |
ContextMenu | 获取或设置与控件关联的快捷菜单。 (继承自 Control。) | |
ContextMenuStrip | 获取或设置与此控件关联的 ContextMenuStrip。 (继承自 Control。) | |
Controls | 获取包含在控件内的控件的集合。 (继承自 Control。) | |
Created | 获取一个值,该值指示控件是否已经创建。 (继承自 Control。) | |
CurrentAutoScaleDimensions | 获取屏幕的当前运行时尺寸。 (继承自 ContainerControl。) | |
Cursor | 获取或设置显示的光标,当鼠标指针在 ShapeContainer时。 (重写 Control.Cursor。) | |
DataBindings | 为该控件获取数据绑定。 (继承自 Control。) | |
DisplayRectangle | 获取表示控件的虚拟显示区域的矩形。 (继承自 ScrollableControl。) | |
Disposing | 获取一个值,该值指示 Control 基类是否在释放进程中。 (继承自 Control。) | |
Dock | 获取或设置控件边框停靠到的父控件并确定控件如何调整大小,其父调整大小时。 (重写 Control.Dock。) | |
DockPadding | 获取控件的所有边缘的停靠边距设置。 (继承自 ScrollableControl。) | |
Enabled | 获取或设置一个值,该值指示控件是否可以对用户交互作出响应。 (继承自 Control。) | |
Focused | 获取一个值,该值指示控件是否有输入焦点。 (继承自 Control。) | |
Font | 获取或设置控件显示的文字的字体。 (继承自 Control。) | |
ForeColor | 获取或设置控件的前景色。 (继承自 Control。) | |
Handle | 获取控件绑定到的窗口句柄。 (继承自 Control。) | |
HasChildren | 获取一个值,该值指示控件是否包含一个或多个子控件。 (继承自 Control。) | |
Height | 获取或设置控件的高度。 (继承自 Control。) | |
HorizontalScroll | 获取与水平滚动条相关联的特性。 (继承自 ScrollableControl。) | |
ImeMode | 获取或设置控件的输入法编辑器 (IME) 模式。 (继承自 Control。) | |
InvokeRequired | 获取一个值,该值指示调用方在对控件进行方法调用时是否必须调用 Invoke 方法,因为调用方位于创建控件所在的线程以外的线程中。 (继承自 Control。) | |
IsAccessible | 获取或设置一个值,该值指示控件对辅助功能应用程序是否可见。 (继承自 Control。) | |
IsDisposed | 获取一个值,该值指示控件是否已经被释放。 (继承自 Control。) | |
IsHandleCreated | 获取一个值,该值指示控件是否有与它关联的句柄。 (继承自 Control。) | |
IsMirrored | 获取一个值,该值指示此控件是否为镜像控件。 (继承自 Control。) | |
LayoutEngine | 获取控件的布局引擎的缓存实例。 (继承自 Control。) | |
Left | 获取或设置控件左边缘与其容器的工作区左边缘之间的距离(以像素为单位)。 (继承自 Control。) | |
Location | 获取或设置该控件的左上角相对于其容器的左上角的坐标。 (继承自 Control。) | |
Margin | 获取或设置控件之间的空间。 (继承自 Control。) | |
MaximumSize | 获取或设置大小,该大小是 GetPreferredSize 可以指定的上限。 (继承自 Control。) | |
MinimumSize | 获取或设置大小,该大小是 GetPreferredSize 可以指定的下限。 (继承自 Control。) | |
Name | 获取或设置控件的名称。 (继承自 Control。) | |
Padding | 获取或设置控件内的空白。 (继承自 Control。) | |
Parent | 获取或设置控件的父容器。 (继承自 Control。) | |
ParentForm | 获取将容器控件分配给的窗体。 (继承自 ContainerControl。) | |
PreferredSize | 获取可以容纳控件的矩形区域的大小。 (继承自 Control。) | |
ProductName | 获取包含控件的程序集的产品名称。 (继承自 Control。) | |
ProductVersion | 获取包含控件的程序集的版本。 (继承自 Control。) | |
RecreatingHandle | 获取一个值,该值指示控件当前是否在重新创建其句柄。 (继承自 Control。) | |
Region | 获取或设置与控件关联的窗口区域。 (继承自 Control。) | |
RenderRightToLeft | 已过时。此属性现已过时。 (继承自 Control。) | |
Right | 获取控件右边缘与其容器的工作区左边缘之间的距离(以像素为单位)。 (继承自 Control。) | |
RightToLeft | 获取或设置一个值,该值指示是否将控件的元素对齐以支持使用从右向左的字体的区域设置。 (继承自 Control。) | |
Shapes | 获取在 ShapeContainer包含形状的集合。 | |
ShowFocusCues | 获取一个值,该值指示控件是否应显示聚焦框。 (继承自 Control。) | |
ShowKeyboardCues | 获取一个值,该值指示用户界面是否处于适当的状态以显示或隐藏键盘快捷键。 (继承自 Control。) | |
Site | 获取或设置控件的站点。 (继承自 Control。) | |
Size | 获取或设置控件的高度和宽度。 (继承自 Control。) | |
TabIndex | 获取或设置在控件的容器的控件的 Tab 键顺序。 (继承自 Control。) | |
TabStop | 获取或设置一个值,该值指示用户能否使用 Tab 键将焦点放到该控件上。 (继承自 Control。) | |
Tag | 获取或设置包含有关控件的数据的对象。 (继承自 Control。) | |
Text | 获取或设置与此控件关联的文本。 (继承自 UserControl。) | |
Top | 获取或设置控件上边缘与其容器的工作区上边缘之间的距离(以像素为单位)。 (继承自 Control。) | |
TopLevelControl | 获取没有另一个 Windows 窗体控件作为其父级的父控件。通常,这是控件所在的最外面的 Form。 (继承自 Control。) | |
UseWaitCursor | 获取或设置一个值,该值指示是否将等待光标用于当前控件以及所有子控件。 (继承自 Control。) | |
VerticalScroll | 获取与垂直滚动条相关联的特性。 (继承自 ScrollableControl。) | |
Visible | 获取或设置一个值,该值指示是否显示该控件及其所有子控件。 (继承自 Control。) | |
Width | 获取或设置控件的宽度。 (继承自 Control。) | |
WindowTarget | 基础结构。此属性与此类无关。 (继承自 Control。) |
页首
方法
名称 | 说明 | |
---|---|---|
AccessibilityNotifyClients | 就指定的子控件的指定 AccessibleEvents 通知辅助功能客户端应用程序。 (继承自 Control。) | |
BeginInvoke(Delegate) | 在创建控件的基础句柄所在线程上异步执行指定委托。 (继承自 Control。) | |
BeginInvoke(Delegate, array<Object[]) | 在创建控件的基础句柄所在线程上,用指定的参数异步执行指定委托。 (继承自 Control。) | |
BringToFront | 将控件带到 Z 顺序的前面。 (继承自 Control。) | |
Contains | 检索一个值,该值指示指定控件是否为一个控件的子控件。 (继承自 Control。) | |
CreateControl | 强制创建可见控件,包括创建句柄和任何可见子控件。 (继承自 Control。) | |
CreateGraphics | 为控件创建 Graphics。 (继承自 Control。) | |
CreateObjRef | 创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (继承自 MarshalByRefObject。) | |
Dispose | 释放由 Component 使用的所有资源。 (继承自 Component。) | |
DoDragDrop | 开始拖放操作。 (继承自 Control。) | |
DrawToBitmap | 支持呈现到指定的位图。 (继承自 Control。) | |
EndInvoke | 检索由传递的 IAsyncResult 表示的异步操作的返回值。 (继承自 Control。) | |
Equals | 确定指定的对象是否等于当前对象。 (继承自 Object。) | |
FindForm | 检索控件所在的窗体。 (继承自 Control。) | |
Focus | 为控件设置输入焦点。 (继承自 Control。) | |
GetChildAtPoint(Point) | 获取位于指定坐标的形状。 | |
GetChildAtPoint(Point, GetChildAtPointSkip) | 检索位于指定坐标的子控件,并且指定是否忽略特定类型的子控件。 (继承自 Control。) | |
GetContainerControl | 沿着控件的父控件链向上,返回下一个 ContainerControl。 (继承自 Control。) | |
GetHashCode | 用作特定类型的哈希函数。 (继承自 Object。) | |
GetLifetimeService | 检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject。) | |
GetNextControl | 按照子控件的 Tab 键顺序向前或向后检索下一个控件。 (继承自 Control。) | |
GetNextShape | 检索下一个或上一形状按 ShapeCollection的序列。 | |
GetPreferredSize | 检索适合控件的矩形区域的大小。 (继承自 Control。) | |
GetType | 获取当前实例的 Type。 (继承自 Object。) | |
Hide | 对用户隐藏控件。 (继承自 Control。) | |
InitializeLifetimeService | 获取控制此实例的生存期策略的生存期服务对象。 (继承自 MarshalByRefObject。) | |
Invalidate() | 使控件的整个图面无效并导致重绘控件。 (继承自 Control。) | |
Invalidate(Region) | 使控件的指定区域无效(将其添加到控件的更新区域,下次绘制操作时将重新绘制更新区域),并向控件发送绘制消息。 (继承自 Control。) | |
Invalidate(Boolean) | 使控件的特定区域无效并向控件发送绘制消息。还可以使分配给该控件的子控件无效。 (继承自 Control。) | |
Invalidate(Rectangle) | 使控件的指定区域无效(将其添加到控件的更新区域,下次绘制操作时将重新绘制更新区域),并向控件发送绘制消息。 (继承自 Control。) | |
Invalidate(Region, Boolean) | 使控件的指定区域无效(将其添加到控件的更新区域,下次绘制操作时将重新绘制更新区域),并向控件发送绘制消息。还可以使分配给该控件的子控件无效。 (继承自 Control。) | |
Invalidate(Rectangle, Boolean) | 使控件的指定区域无效(将其添加到控件的更新区域,下次绘制操作时将重新绘制更新区域),并向控件发送绘制消息。还可以使分配给该控件的子控件无效。 (继承自 Control。) | |
Invoke(Delegate) | 在拥有此控件的基础窗口句柄的线程上执行指定的委托。 (继承自 Control。) | |
Invoke(Delegate, array<Object[]) | 在拥有控件的基础窗口句柄的线程上,用指定的参数列表执行指定委托。 (继承自 Control。) | |
PerformAutoScale | 执行对容器控件及其子级的缩放。 (继承自 ContainerControl。) | |
PerformLayout() | 强制控件将布局逻辑应用于其所有子控件。 (继承自 Control。) | |
PerformLayout(Control, String) | 强制控件将布局逻辑应用于其所有子控件。 (继承自 Control。) | |
PointToClient | 将指定屏幕点的位置计算成工作区坐标。 (继承自 Control。) | |
PointToScreen | 将指定工作区点的位置计算成屏幕坐标。 (继承自 Control。) | |
PreProcessControlMessage | 在调度键盘或输入消息之前,在消息循环内对它们进行预处理。 (继承自 Control。) | |
PreProcessMessage | 在调度键盘或输入消息之前,在消息循环内对它们进行预处理。 (继承自 Control。) | |
ProcessKeyMessage | 处理键盘消息。 (继承自 Control。) | |
ProcessMnemonic | 基础结构。处理助记键字符。 (继承自 ContainerControl。) | |
RectangleToClient | 计算指定屏幕矩形的大小和位置(以工作区坐标表示)。 (继承自 Control。) | |
RectangleToScreen | 计算指定工作区矩形的大小和位置(以屏幕坐标表示)。 (继承自 Control。) | |
Refresh | 强制控件使其工作区无效并立即重绘自己和任何子控件。 (继承自 Control。) | |
ResetBackColor | 将 BackColor 属性重置为其默认值。 (继承自 Control。) | |
ResetBindings | 使绑定到 BindingSource 的控件重新读取列表中的所有项,并刷新这些项的显示值。 (继承自 Control。) | |
ResetCursor | 将 Cursor 属性重置为其默认值。 (继承自 Control。) | |
ResetFont | 将 Font 属性重置为其默认值。 (继承自 Control。) | |
ResetForeColor | 将 ForeColor 属性重置为其默认值。 (继承自 Control。) | |
ResetImeMode | 将 ImeMode 属性重置为其默认值。 (继承自 Control。) | |
ResetRightToLeft | 将 RightToLeft 属性重置为其默认值。 (继承自 Control。) | |
ResetText | 将 Text 属性重置为其默认值。 (继承自 Control。) | |
ResumeLayout() | 恢复正常的布局逻辑。 (继承自 Control。) | |
ResumeLayout(Boolean) | 恢复正常的布局逻辑,可以选择强制对挂起的布局请求立即进行布局。 (继承自 Control。) | |
RtlTranslateContent | 将指定的 ContentAlignment 转换为相应的 ContentAlignment 以支持从右向左的文本。 (继承自 Control。) | |
Scale(Single) | 已过时。缩放控件和任何子控件。 (继承自 Control。) | |
Scale(SizeF) | 按指定的比例因子缩放控件和所有子控件。 (继承自 Control。) | |
Scale(Single, Single) | 已过时。缩放整个控件和任何子控件。 (继承自 Control。) | |
ScrollControlIntoView | 将指定的子控件滚动到支持自动滚动的控件的视图中。 (继承自 ScrollableControl。) | |
Select | 激活控件。 (继承自 Control。) | |
SelectNextControl | 激活下一个控件。 (继承自 Control。) | |
SelectNextShape | 选择下一个或上一形状按 ShapeCollection的序列。 | |
SendToBack | 将控件发送到 Z 顺序的后面。 (继承自 Control。) | |
SetAutoScrollMargin | 设置自动滚动边距的大小。 (继承自 ScrollableControl。) | |
SetBounds(Int32, Int32, Int32, Int32) | 将控件的边界设置为指定位置和大小。 (继承自 Control。) | |
SetBounds(Int32, Int32, Int32, Int32, BoundsSpecified) | 将控件的指定边界设置为指定位置和大小。 (继承自 Control。) | |
Show | 向用户显示控件。 (继承自 Control。) | |
SuspendLayout | 临时挂起控件的布局逻辑。 (继承自 Control。) | |
ToString | 返回包含 Component 的名称的 String(如果有)。不应重写此方法。 (继承自 Component。) | |
Update | 使控件重绘其工作区内的无效区域。 (继承自 Control。) | |
UpdateBounds | 用当前大小和位置更新控件的边界。 (继承自 Control。) | |
Validate() | 通过顺序引发 Validating 和 Validated 事件验证失去焦点的控件的值。 (继承自 ContainerControl。) | |
Validate(Boolean) | 验证失去焦点的控件的值;取决于是否打开了自动验证。 (继承自 ContainerControl。) | |
ValidateChildren() | 使控件内支持验证的所有子控件都对其数据进行验证。 (继承自 UserControl。) | |
ValidateChildren(ValidationConstraints) | 使控件内支持验证的所有子控件都对其数据进行验证。 (继承自 UserControl。) |
页首
事件
页首
显式接口实现
名称 | 说明 | |
---|---|---|
IContainerControl.ActivateControl | 激活指定的控件。 (继承自 ContainerControl。) | |
IDropTarget.OnDragDrop | 基础结构。引发 DragDrop 事件。 (继承自 Control。) | |
IDropTarget.OnDragEnter | 基础结构。引发 DragEnter 事件。 (继承自 Control。) | |
IDropTarget.OnDragLeave | 基础结构。引发 DragLeave 事件。 (继承自 Control。) | |
IDropTarget.OnDragOver | 基础结构。引发 DragOver 事件。 (继承自 Control。) |
页首
备注
LineShape、 OvalShape或 RectangleShape 控件可以在 ShapeContainer 对象仅包含,作为 line 和 shape 控件的画布。
在添加行或形状到窗体或容器在设计时, ShapeContainer ,则将自动创建一个不存在。 行或形状的 Parent 属性设置为该 ShapeContainer。 ShapeContainer 的 Parent 属性设置为行或形状添加的窗体或容器控件中。
使用 New 方法时,将创建行或形状在运行时,必须设置控件的 Parent 属性设置为 ShapeContainer。 如果 ShapeContainer 为窗体或容器已存在,则应设置 Parent 属性设置为该 ShapeContainer。 如果 ShapeContainer 不存在,您可以创建 ShapeContainer 使用 New 方法并将其 Parent 属性设置为窗体或容器。
备注
注意不创建多每个窗体或容器中 ShapeContainer ;这样做可能引入意外行为。如果您添加一个设计时程 line 或 shape 控件添加到窗体或容器,在创建的编写代码以编程方式,应修改此代码使用设计器中创建的 ShapeContainer 。
示例
下面的示例检查现有 ShapeContainer 并将 OvalShape 控件的 Parent 属性创建在运行时使用 New 方法。
Private Sub Form1_Load() Handles MyBase.Load
Dim NewOval As New OvalShape
Dim i As Integer
Dim found As Boolean
' Loop through the Controls collection.
For i = 0 To Me.Controls.Count - 1
' If a ShapeContainer is found, make it the parent.
If TypeOf Controls.Item(i) Is ShapeContainer Then
NewOval.Parent = Controls.Item(i)
found = True
Exit For
End If
Next
' If no ShapeContainer is found, create one and set the parents.
If found = False Then
Dim sc As New ShapeContainer
sc.Parent = Me
NewOval.Parent = sc
End If
NewOval.Size = New Size(200, 300)
End Sub
private void form1_Load(System.Object sender, System.EventArgs e)
{
OvalShape NewOval = new OvalShape();
int i;
bool found = false;
// Loop through the Controls collection.
for (i = 0; i < this.Controls.Count; i++)
{
// If a ShapeContainer is found, make it the parent.
if (this.Controls[i] is ShapeContainer)
{
NewOval.Parent = ((ShapeContainer)this.Controls[i]);
found = true;
break;
}
}
// If no ShapeContainer is found, create one and set the parents.
if (found == false)
{
ShapeContainer sc = new ShapeContainer();
sc.Parent = this;
NewOval.Parent = sc;
}
NewOval.Size = new Size(200, 300);
}
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
请参见
参考
Microsoft.VisualBasic.PowerPacks 命名空间
其他资源
Line 和 Shape 控件简介 (Visual Studio)