Line 和 Shape 控件简介 (Visual Studio)
Visual Basic Power Pack Line 和 Shape 控件由三个图形控件组成,使您可以在窗体和容器上绘制直线和形状。 LineShape 控件用于绘制水平线、垂直线和对角线。 OvalShape 控件用于绘制圆形和椭圆形,RectangleShape 控件用于绘制矩形和正方形。
Line 和 Shape 控件
Line 和 Shape 控件封装了许多图形方法,这些方法包含在 System.Drawing 命名空间中。 这样您就可以通过一步操作来绘制直线和形状,而不必创建图形对象、钢笔和画笔。 复杂的图形技术(如渐变填充)也只需通过设置一些属性即可完成。
尽管还可以通过使用图形方法来绘制直线和形状,但使用 Line 和 Shape 控件有下面几个好处:
图形方法只能在运行时调用。 Line 和 Shape 控件可以在设计时添加到窗体。 这样您便能够看到它们的外观并对它们进行精确定位;也可以在运行时添加它们。
Line 和 Shape 控件在运行时是可选择的,并提供 Click 和 OnDoubleClick 等事件。 图形方法的输出是不可选择的并且不提供事件。
Line 和 Shape 控件提供 BringToFront 和 SendToBack 方法,使您可以在设计时和运行时控制它们的 Z 顺序。 而对于图形方法,只能通过在运行时更改它们的执行顺序来控制它们的 Z 顺序。
Line 和 Shape 控件是无窗口控件;它们没有窗口句柄,因此使用的系统资源较少。
对象模型
Line 和 Shape 控件均派生自 Shape 基类,该类定义它们的共享属性、方法和事件。
下图演示 Line 和 Shape 对象层次结构。
Line 和 Shape 对象层次结构
派生类 LineShape 包含直线所特有的属性、方法和事件。 派生类 SimpleShape 是 OvalShape 和 RectangleShape 的基类;它包含所有形状所共有的属性、方法和事件。 您还可以通过从 SimpleShape 派生来创建自己的 Shape 控件。
OvalShape 和 RectangleShape 类可用于绘制圆形、椭圆形、矩形和圆角矩形。
将 Line 或 Shape 控件添加到窗体或容器中后,随即会创建一个不可见的 ShapeContainer 对象。 ShapeContainer 充当每个容器控件中各个形状的画布;每个 ShapeContainer 均有一个对应的 ShapeCollection,使您可以循环访问 Line 和 Shape 控件。 可以使用剪切和粘贴或通过拖放操作将形状从一个容器移动到另一个容器。 当从容器中移除最后一个形状时,ShapeContainer 也将随即移除。
备注
并不是所有容器控件都支持 Line 和 Shape 控件。不能在 TableLayoutPanel 或 FlowLayoutPanel 上承载 Line 或 Shape 控件。
请参见
任务
如何:使用 LineShape 控件绘制直线 (Visual Studio)
如何:使用 OvalShape 和 RectangleShape 控件绘制形状 (Visual Studio)
如何:使用 Tab 键在形状之间切换 (Visual Studio)