一聚教程网:一个值得你收藏的教程网站

热门教程

从头创建 Visual Basic .NET 控件 (五)

时间:2022-07-02 11:57:20 编辑:袖梨 来源:一聚教程网

第 4 步:绘制控件的外观
要使控件具有一个可视的外观,我们需要在 Paint 事件中放置逻辑。然后,每次控件需要刷新其可视外观时,就会运行该逻辑。
Windows 窗体中的 Paint 逻辑使用 .NET 中 GDI+ 部分中的类。这些类基本上包括了 Windows API 图形功能。由于适合 .NET,所以比 API 更易于使用。但是,有关它们的工作原理,需要理解以下几点。
在 Windows API 中,图形操作需要一个窗口句柄,有时称为 hWnd。在 GDI+ 中,它由 Graphics 对象取代,该对象不仅代表了绘图区域,还提供在该区域执行的操作(方法)。
例如,Graphics 对象具有以下方法,可用来绘制各种屏幕元素:
DrawCurve
DrawEllipse
DrawLine
DrawPolygon
DrawRectangle
DrawString
FillEllipse
FillPolygon
这些都是很容易理解的,只是可用方法的示例。一些更复杂的方法还允许旋转对象。我们将使用 DrawRectangle 方法绘制边框,使用 FillEllipse 方法绘制彩色的圆。
大多数绘图方法都要求使用 Pen 或 Brush 对象。Pen 对象用于绘制直线并确定直线的颜色和粗细。Brush 对象用于填充区域、确定填充区域所使用的颜色,以及一些特殊效果(例如,用位图填充区域)。我们将使用特殊的 Brush 效果使当前没有亮起的灯的颜色变暗。
下面是处理控件的 Paint 事件的代码:
Protected Overrides Sub OnPaint(ByVal pe As _
              System.Windows.Forms.PaintEventArgs)
    MyBase.OnPaint(pe)
    Dim grfGraphics As System.Drawing.Graphics
    grfGraphics = pe.Graphics
    ' 首先绘制三个代表灯的圆。
    ' 一个亮起,其余两个熄灭。

热门栏目