搜索: 标题内容作者  
  首页VB.NET教程VB.NET入门教程
背景:
阅读新闻

创建Visual Basic .NET控件入门

[日期:2008-09-17]   来源:互联网整理  作者:佚名   [字体: ]
    新闻简介:  摘要:本月 Billy Hollis 将向您介绍如何从头创建可呈现其特有界面的可视控件。我从来没有真正想过要当一名 C++ 程序员,因为我太懒了,不能那么辛苦地工作。但我必须承认,我过去常常嫉妒那些 C++ 程序员,嫉妒他们编写可视控件的能力。
        关 键 词:   vb.net  控件  .NET  Visual Basic 

  大多数绘图方法都要求使用 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

' 首先绘制三个代表灯的圆。
' 一个亮起,其余两个熄灭。
DrawLight(TrafficLightStatus.statusGreen, grfGraphics)
DrawLight(TrafficLightStatus.statusYellow, grfGraphics)
DrawLight(TrafficLightStatus.statusRed, grfGraphics)

' 现在绘制红绿灯周围的轮廓
' 用画笔绘制轮廓,将它涂成黑色。
Dim penDrawingPen As New _
System.Drawing.Pen(System.Drawing.Color.Black, msngBorderWidth)

' 在控件上绘制红绿灯的轮廓。
' 首先定义要绘制的矩形。
Dim rectBorder As System.Drawing.Rectangle

rectBorder.X = 1
rectBorder.Y = 1
rectBorder.Height = Me.Height - 2
rectBorder.Width = Me.Width - 2
grfGraphics.DrawRectangle(penDrawingPen, rectBorder)

' 释放图形对象
penDrawingPen.Dispose()
grfGraphics.Dispose()

End Sub

  首先使用基类绘制,它通常使用控件的背景颜色绘制背景。然后,从事件参数中获取控件的 Graphics 对象。

  接下来,用一个函数画出三个圆。有关该函数的内容稍后介绍。请注意,我们必须向该函数传递一个 Graphics 对象的引用,同时还要指示要画的圆(红、黄、绿)。

  然后是绘制轮廓的代码。声明一个具有适当位置和大小的矩形,然后传递给 Graphics 对象的 DrawRectangle 方法。

  最后,图形对象激活其 Dispose 方法。使用 GDI+ 时,最好在完成图形对象后立即释放它们。这有助于清除操作系统绘图时所用的资源。如果要在 Windows® 98 或 Windows Me 中使用控件,管理图形资源就更加重要,因为这些操作系统处理这种资源的能力较差。

If you believe an article violates your rights or the rights of others, please contact us.

收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻      
友情链接
本文评论   [发表评论] 全部评论 (0)
赞助商广告
热门评论