vb窗口形状改变.docx
《vb窗口形状改变.docx》由会员分享,可在线阅读,更多相关《vb窗口形状改变.docx(20页珍藏版)》请在三一办公上搜索。
1、用VB.NET设计各种形状的窗体界面窗体是程序设计最常见,最普通,也是最容易受到程序员忽视的编程对象。一般来说,在Visual Basic.Net针对窗体的编 程是不需要人为介入的,因为可视化编程工具Visual Studio.Net已经按照窗体的缺省状态实现了。但是在最近遇到的应 用程序中。我们发现越来越多的应用程序中使用到各种不同规则的窗体,这些不同规则的窗体给应用程序带来异常的情趣和 不同平常的效果的同时,也促使使用者思考这样一个问题,如何创建这些窗体?在Visual Basic.Net中提供了一种简单、 直接创建不规则窗体的方法,本文的主要内容就是探讨一下这些方法具体的实现过程。下面就
2、来详细介绍在VisualBasic.Net中实现五种不同规格窗体的方法,即:椭圆形、扇形、圆形、环形和三角形。掌握了这五种不同形状窗体 的实现方法后,我想对于其他规则的窗体就不应该有什么问题了。Visual Basic .Net中创建、使用MDI窗体也是本文的重要内容之一,MDI是Multi Documentinterface的简称,即:多文档界面,MDI最早出现于Windows2.0中,最先使用到MDI的应用程序是Excel电子表格。为了方便使用者同 时能够操作多份电子表格,Excel就采用了 MDI来解决这个问题。到了 Windows3.1中,MDI在应用程序中得到了更大 范围的应用。其中
3、Windows3.1中的程序管理器和文件管理器都采用了 MDI。目前MDI在应用程序中依然被广泛采用。下面就首先来介绍一下Visual Basic.Net创建不规则窗体的相关知识和具体实现方法。一.简介Visual Basic .Net中定制不规则窗体时使用的类库:Visual Basic.Net中定制不规则窗体主要使用到Region类和GraphicsPath类,其中以GraphicsPath类最为重要。 GraphicsPath 类和 Region 类分别位于.Net FrameWorkSDK 中的System.Drawing.Drawing2D”命名空间和 System.Drawing命
4、名空间。在Visual Basic.Net中具体实现各种不规则窗体的过程中,GraphicsPath主要作用是根 据程序员的要求,通过GraphicsPath中提供的方法绘制不同规则的形状。Region的主要作用是依靠GraphicsPath实例 来初始化Region对象,从而形成不规则窗体。其具体的实现过程是,首先通过GraphicsPath类构造函数创建GraphicsPath实例,然后通过GraphicsPath中提 供的方法按照程序员的要求绘制形状,最后以GraphicsPath实例来初始化Region对象。完成不规则窗体。可见了解、掌 握GraphicsPath类对于理解本文介绍的实
5、现方法是非常必要的。表01和表02分别是GraphicsPath类的常用方法和常 用属性及其说明:在本文用Visual Basic.Net实现的椭圆形、扇形、圆形、环形和三角形等形状窗体中就使用到GraphicsPath中的AddEllipse方法(绘制椭圆形)、AddPie方法(绘制扇形)、AddLine方法(绘制直线)等方法。GraphicsPath中提供了丰富的方法,这对实现更复杂的窗体形状是非常有用的,但完全掌握这些方法的使用方法也需要花费大量的时间和精 力。属性说明FillMode获取或设置一个FillMode枚举,它确定此PathData获取一个PathData对象,它封装此Gra
6、phicsPath实例的点(points)和类型(types)的数 组。PathPoints获取路径中的点。PathTypes获取PathPoints数组中相应点的类型。PointCount获取PathPoints或PathTypes数组中的元素数。表02: GraphicsPath类中的常用属性及其说明方法说明AddArcGraphicsPath向当刖图形追加段椭圆弧。AddBezierGraphicsPath向当刖图形添加 段立方贝塞尔曲线。AddBeziersGraphicsPath向当前图形添加一系列相互连接的立方贝塞尔曲线。AddClosedCurveGraphicsPath向此路径
7、添加一个闭合曲线。由于曲线经过数组中的每个点,因此使用 基数样条曲线。AddCurveGraphicsPath向当前图形添加一段样条曲线。由于曲线经过数组中的每个点,因此使 用基数样条曲线。AddEllipseGraphicsPath向当前路径添加一个椭圆。AddLineGraphicsPath向此匕GraphicsPath实例追加一条线段。AddLinesGraphicsPath向此匕GraphicsPath头例末尾追加系列相互连接的线段。AddPath将指定的GraphicsPath实例追加到该路径。AddPieGraphicsPath向此匕路径添加一个扇形轮廓。AddPolygonGra
8、phicsPath向此匕路径添加多边形。AddRectangleGraphicsPath向此匕路径添加一个矩形。AddRectanglesGraphicsPath向此匕路径添加 系列矩形。AddStringGraphicsPath向此匕路径添加文本字符串。ClearMarkers清除此路径的所有标记。Clone创建此路径的一个精确副本。CloseAllFigures闭合此路径中所有开放的图形并开始一个新图形。它通过连接一条从图形的终结点到起 始点的直线,闭合每一开放的图形。CloseFigure闭合当前图形并开始新的图形。如果当前图形包含一系列相互连接的直线和曲线,该方 法通过连接一条从终结点
9、到起始点的直线,闭合该环回。FlattenGraphicsPath将此路径中的各段曲线转换成相连的线段序列。GetBoundsGraphicsPath返回限定此匕GraphicsPath实例的矩形。GetLastPoint获取此GraphicsPath实例PathPoints数组中的最后的点。IsOutlineVisibleGraphicsPath指示当使用指定的Pen对象绘制此匕GraphicsPath头例时,指定点是否 包含在后者的轮廓内。IsVisibleGraphicsPath指示指定点是否包含在此GraphicsPath实例内。Reset清空 PathPoints 和 PathTyp
10、es 数组并将 FillMode 设置为 Alternate。Reverse反转此GraphicsPath实例的PathPoints数组中各点的顺序。SetMarkers在此GraphicsPath实例上设置标记。StartFigure不闭合当前图形即开始一个新图形。后面添加到该路径的所有点都被添加到此新图形 中。Transform将变形矩阵应用到此GraphicsPath实例。WarpGraphicsPath对此GraphicsPath实例应用由一个矩形和一个平行四边形定义的扭曲变形。WidenGraphicsPath在用指定的画笔绘制此路径时,用包含所填充区域的曲线代替此路径。AddArc
11、GraphicsPath向当前图形追加一段椭圆弧。AddBezierGraphicsPath向当前图形添加一段立方贝塞尔曲线。表01: GraphicsPath类的常用方法及其说明二.Visual Basic .Net中定制不规则窗体的具体步骤:正如前文所说在Visual Basic .Net定制不同规则的窗体是比较容易的,再了解了上面内容后,下面就是在Visual Basic .Net实现椭圆形、扇形、圆形、环形和三角形等五种形状窗体的具体实现步骤:1. 启动 Visual Studio .Neto2. 选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。3. 将【项目类型】设置
12、为【Visual Basic项目】。4. 将【模板】设置为【Windows应用程序】。5. 在【名称】文本框中输入【VB.NET中定制不规则窗体】。6.在【位置】的文本框中输入E:VS.NET项目】,然后单击【确定】按钮,这样在E:VS.NET项目”目录中就产生 了名称为VB.NET中定制不规则窗体”的文件夹,并在里面创建了名称为VB.NET中定制不规则窗体”的项目文件。具体如 图01所示:图01:【VB.NET中定制不规则窗体】新建项目对话框7.把Visual Studio .Net的当前窗口切换到【Forml.vb (设计)】窗口,并从【工具箱】中的【Windows窗体组 件】选项卡中往F
13、orm1窗体中拖入下列组件,并执行相应的操作:五个Button组件,用以定制五种不同形状窗体,并在这个Button组件拖入Form1的设计窗体后,双击它们,则系 统会在Form1.vb文件分别产生这五个组件的Click事件对应的处理代码。4,在上述组件拖入窗体后,分别按照图02所示排列并设置窗体中的各组件:图02:【VB.NET中定制不规则窗体】项目的设计界面8.把Visual Basic .Net当前窗口切换到Forml.vb的代码编辑窗口,并用下列代码替换Forml.vb中的Buttonl的Click事件对应的处理代码,下列代码功能是改变当前窗体形状为椭圆形:Private Sub But
14、ton1_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button1.ClickDim p As System.Drawing.Drawing2D.GraphicsPath = New System.Drawing.Drawing2D.GraphicsPath ()Dim Width As Integer = Me.ClientSize.WidthDim Height As Integer = Me.ClientSize.Heightp.AddEllipse ( 0,20 , Wid
15、th - 50 , Height - 100 )根据要绘制椭圆的形状来填写AddEllipse方法中椭圆对应的相应参数Region = New Region ( p )End Sub9.用下列代码替换Form1.vb中的Button2的Click事件对应的处理代码,下列代码功能是改变当前窗体形状为扇形:Private Sub Button2_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) HandlesButton2.ClickDim p As System.Drawing.Drawing2D.Grap
16、hicsPath = New System.Drawing.Drawing2D.GraphicsPath ()p.AddPie ( 10 , 10,250,250 , 5 , 150 )根据要实现的扇形形状来填写AddPie方法中的相应参数Me.Region = New Region ( p )End Sub10.用下列代码替换Form1.vb中的Button3的Click事件对应的处理代码,下列代码功能是改变当前窗体形状为圆形:Private Sub Button3_Click ( ByVal sender As System.Object , ByVal e As System.Event
17、Args ) Handles Button3.ClickDim p As System.Drawing.Drawing2D.GraphicsPath = New System.Drawing.Drawing2D.GraphicsPath ()Dim Width As Integer = Me.ClientSize.WidthDim Height As Integer = Me.ClientSize.Heightp.AddEllipse ( 0,0 , Height , Height )Me.Region = New Region ( p )圆形即是椭圆的一种特例,End Sub11.用下列代码
18、替换Form1.vb中的Button4的Click事件对应的处理代码,下列代码功能是改变当前窗体形状为环形:Private Sub Button4_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button4.ClickDim p As System.Drawing.Drawing2D.GraphicsPath = New System.Drawing.Drawing2D.GraphicsPath ()Dim Height As Integer = Me.ClientSize.Heig
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb 窗口 形状 改变
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4925783.html