http://www.nodedev.org

用VB.NET设计各种形状的窗体界面

  窗体是程序设计最常见,最普通,也是最容易受到程序员忽视的编程对象。一般来说,在Visual Basic .Net针对窗体的编程是不需要人为介入的,因为可视化编程工具Visual Studio .Net已经按照窗体的缺省状态实现了。但是在最近遇到的应用程序中。我们发现越来越多的应用程序中使用到各种不同规则的窗体,这些不同规则的窗体给应用程序带来异常的情趣和不同平常的效果的同时,也促使使用者思考这样一个问题,如何创建这些窗体?在Visual Basic .Net中提供了一种简单、直接创建不规则窗体的方法,本文的主要内容就是探讨一下这些方法具体的实现过程。下面就来详细介绍在Visual Basic .Net中实现五种不同规格窗体的方法,即:椭圆形、扇形、圆形、环形和三角形。掌握了这五种不同形状窗体的实现方法后,我想对于其他规则的窗体就不应该有什么问题了。

  Visual Basic .Net中创建、使用MDI窗体也是本文的重要内容之一,MDI是Multi Document Interface的简称,即:多文档界面,MDI最早出现于Windows 2.0中,最先使用到MDI的应用程序是Excel电子表格。为了方便使用者同时能够操作多份电子表格,Excel就采用了MDI来解决这个问题。到了Windows3.1中,MDI在应用程序中得到了更大范围的应用。其中Windows 3.1中的程序管理器和文件管理器都采用了MDI。目前MDI在应用程序中依然被广泛采用。下面就首先来介绍一下Visual Basic .Net创建不规则窗体的相关知识和具体实现方法。

  一.简介Visual Basic .Net中定制不规则窗体时使用的类库:

  Visual Basic .Net中定制不规则窗体主要使用到Region类和GraphicsPath类,其中以GraphicsPath类最为重要。GraphicsPath类和Region类分别位于.Net FrameWork SDK中的"System.Drawing.Drawing2D"命名空间和"System.Drawing"命名空间。在Visual Basic .Net中具体实现各种不规则窗体的过程中,GraphicsPath主要作用是根据程序员的要求,通过GraphicsPath中提供的方法绘制不同规则的形状。Region的主要作用是依靠GraphicsPath实例来初始化Region对象,从而形成不规则窗体。

  其具体的实现过程是,首先通过GraphicsPath类构造函数创建GraphicsPath实例,然后通过GraphicsPath中提供的方法按照程序员的要求绘制形状,最后以GraphicsPath实例来初始化Region对象。完成不规则窗体。可见了解、掌握GraphicsPath类对于理解本文介绍的实现方法是非常必要的。表01和表02分别是GraphicsPath类的常用方法和常用属性及其说明:

方法   说明  
AddArc   GraphicsPath向当前图形追加一段椭圆弧。  
AddBezier   GraphicsPath向当前图形添加一段立方贝塞尔曲线。  
AddBeziers   GraphicsPath向当前图形添加一系列相互连接的立方贝塞尔曲线。  
AddClosedCurve   GraphicsPath向此路径添加一个闭合曲线。由于曲线经过数组中的每个点,因此使用基数样条曲线。  
AddCurve   GraphicsPath向当前图形添加一段样条曲线。由于曲线经过数组中的每个点,因此使用基数样条曲线。  
AddEllipse   GraphicsPath向当前路径添加一个椭圆。  
AddLine   GraphicsPath向此GraphicsPath实例追加一条线段。  
AddLines   GraphicsPath向此GraphicsPath实例末尾追加一系列相互连接的线段。  
AddPath   将指定的GraphicsPath实例追加到该路径。  
AddPie   GraphicsPath向此路径添加一个扇形轮廓。  
AddPolygon   GraphicsPath向此路径添加多边形。  
AddRectangle   GraphicsPath向此路径添加一个矩形。  
AddRectangles   GraphicsPath向此路径添加一系列矩形。  
AddString   GraphicsPath向此路径添加文本字符串。  
ClearMarkers   清除此路径的所有标记。  
Clone   创建此路径的一个精确副本。  
CloseAllFigures   闭合此路径中所有开放的图形并开始一个新图形。它通过连接一条从图形的终结点到起始点的直线,闭合每一开放的图形。  
CloseFigure   闭合当前图形并开始新的图形。如果当前图形包含一系列相互连接的直线和曲线,该方法通过连接一条从终结点到起始点的直线,闭合该环回。  
Flatten   GraphicsPath将此路径中的各段曲线转换成相连的线段序列。  
GetBounds   GraphicsPath返回限定此GraphicsPath实例的矩形。  
GetLastPoint   获取此GraphicsPath实例PathPoints数组中的最后的点。  
IsOutlineVisible   GraphicsPath指示当使用指定的Pen对象绘制此GraphicsPath实例时,指定点是否包含在后者的轮廓内。  
IsVisible   GraphicsPath指示指定点是否包含在此GraphicsPath实例内。  
Reset   清空PathPoints和PathTypes数组并将FillMode设置为Alternate。  
Reverse   反转此GraphicsPath实例的PathPoints数组中各点的顺序。  
SetMarkers   在此GraphicsPath实例上设置标记。  
StartFigure   不闭合当前图形即开始一个新图形。后面添加到该路径的所有点都被添加到此新图形中。  
Transform   将变形矩阵应用到此GraphicsPath实例。  
Warp   GraphicsPath对此GraphicsPath实例应用由一个矩形和一个平行四边形定义的扭曲变形。  
Widen   GraphicsPath在用指定的画笔绘制此路径时,用包含所填充区域的曲线代替此路径。  
AddArc   GraphicsPath向当前图形追加一段椭圆弧。  
AddBezier   GraphicsPath向当前图形添加一段立方贝塞尔曲线。  
             表01:GraphicsPath类的常用方法及其说明

  在本文用Visual Basic .Net实现的椭圆形、扇形、圆形、环形和三角形等形状窗体中就使用到GraphicsPath中的AddEllipse方法(绘制椭圆形)、AddPie方法(绘制扇形)、AddLine方法(绘制直线)等方法。GraphicsPath中提供了丰富的方法,这对实现更复杂的窗体形状是非常有用的,但完全掌握这些方法的使用方法也需要花费大量的时间和精力。

属性   说明  
FillMode   获取或设置一个FillMode枚举,它确定此  
PathData   获取一个PathData对象,它封装此GraphicsPath实例的点(points)和类型(types)的数组。  
PathPoints   获取路径中的点。  
PathTypes   获取PathPoints数组中相应点的类型。  
PointCount   获取PathPoints或PathTypes数组中的元素数。  
           表02:GraphicsPath类中的常用属性及其说明

1

作者:马金虎责任编辑:方舟)

天极新媒体 最酷科技资讯

扫码赢大奖

评论

* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。