当前位置:武林网文章中心语言编程HTML、.Net、AJAX → 走近VB.Net(七)在窗体上画图

走近VB.Net(七)在窗体上画图

减小字体 增大字体 作者:走近VB.Net(七)在窗体上画图  来源:www.hack50.com  发布时间:2014-9-10 0:45:25
走近VB.Net(七)在窗体上画图
          如果看过一些文章一定知道在窗体上画图要使用system.drawing类,在VB.Net中没有line与label控件,需要自已写一些代码,

    首先写一个事件过程onpaint.在显示窗体的同时显示图形

           Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)

          'TODO: 请在此处添加绘图代码

           End Sub





ByVal e As PaintEventArgs是一个参数类,这个有些象在VB6在使用的自定义类型,在一个集合中有多个成员变量,(参考

《VB.Net核心定义》之集合/成员)。在e后面打点就可以看到相关的参数。在mouse_down,mouse_up等事件中获取X,Y坐标就使用

e.X跟e.Y。在窗体上有些事件需要手工添加,前面几章有相关内容,现在我们要使用的是e.Graphics参数,

请添加如下代码:

Dim gp As Graphics = e.Graphics

当然你要记住在程序代码的起始加了Imports System.Drawing 这样system.drawing.graphics 可以写成graphics,而system.drawing.pen

可以写成pen
     另外我们要创建一个画笔对象,这就象现实中一样,画笔是一个对象,我们使用画笔去绘图。      

         Dim newpen As New Pen(Color.Black,5)

         甚至可以这样写:

         Dim newpen As New Pen(color.FromARGB(22, 23, 24), 5)

Pen是一个重载性质的函数,也就是有好几种格式,在打逗号以后出现的提示上可以看到一个向下的键头与数字,点击箭头可以

察看函数的不同版本使用的不同参数。这里使用了一个system.draw.color类的fromARGB的函数,由于他也是一个重载的孙数,你可以写入

A,R,G,B四个参数,也可以写入R,G,B三个参数,一共有四种版本供您使用,也只要在打逗号以后出现的提示上可以看到一个向下的键头与数字即可。

          你可以只使用一个色彩的参数,或者在后面加一个整数,定义画笔的大小,也就是画出来的线条应该有多宽,记住color也是system.drawing

的一个类如:Dim newpen As New Pen(Color.Black)

     现在使用drawline方法画出想要的线条,如下:

         gp.Drawline(newpen, 10, 20, 70, 80)

     Drawline也是一个重载的方法(Overloads Public Sub DrawLine)一般是使用5个参数,后面四个可以是integer类型,也可以是single的

浮点类型。这里使用的是整数

   第一个是代表画笔,后面依次是x1,y1(起点坐标),X2,Y2(终点坐标)

   



画一个矩形如下:

Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)

              Dim gp As Graphics = e.Graphics

              Dim newpen As New Pen(Color.Black, 5)

              gp.DrawRectangle(newpen, 10, 20, 70, 80)

   End Sub

   

画正方形要求最后两个参数相同:

       Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)

              Dim gp As Graphics = e.Graphics

              Dim newpen As New Pen(Color.Black, 5)

              gp.DrawRectangle(newpen, 10, 20, 80, 80)

  End Sub

   

画一抛物线如下:

      Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)

              Dim gp As Graphics = e.Graphics

              Dim newpen As New Pen(Color.Black, 5)

              gp.drawarc(newpen, 10, 20, 70, 80, 123, 233)

   End Sub



画贝塞尔曲线如下:

Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)

              Dim gp As Graphics = e.Graphics

              Dim newpen As New Pen(Color.Black, 5)

              gp.DrawBezier(newpen, 10, 20, 70, 80, 123, 233, 23, 45)

 End Sub

 

你也可以在一屏之内同时进行多次绘图,如下:

Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)

             Dim i As Integer

             Dim gp As Graphics = e.Graphics

             For i = 1 To 10

             Dim newpen As New Pen(color.FromARGB(i * 25, i * 25, i * 25), 5)

                   gp.DrawRectangle(newpen, 10 + i * 6, 20 + i * 6, 80, 80)

             Next

End Sub

运行一下,这个图片一定让你捧腹一笑,你可以随意改变参数看看有什么效果。


本文引用网址:

在下列搜索引擎中搜索“走近VB.Net(七)在窗体上画图”的相关信息:

谷歌搜索 百度搜索 360搜索 雅虎搜索 搜狗搜索 搜搜搜索 必应搜索 有道搜索
你可能还喜欢以下文章
  • 1怎么做爱舒服?真人示范做爱姿...
  • 2合肥艳照门QQ空间曝光男主角与...
  • 3男女做爱技巧图解 真人示范做爱...
  • 4军艺校花徐冬冬全裸高清组图 徐...
  • 54D肉蒲团之扶桑千人斩qvod下载...
  • 1女孩下面痒了怎么办?
  • 2一组超级黄色笑话
  • 3十八岁女孩第一次做鸡的感觉
  • 4教你如何盗QQ密码
  • 5日本AV六级试卷 (附标准答案)
  • 1林晨钰艳照qvod完整版 林晨钰秀...
  • 24D肉蒲团之扶桑千人斩qvod高清...
  • 3最新王梦溪未经处理雅照曝光 兰...
  • 4武汉工程大学林晨钰爆奶门 35张...
  • 5四川美院女生遭前男友发艳照报...
  • 1怎样破解别人的微信密码?手机...
  • 2怎样翻墙上网?什么是翻墙上网...
  • 3如何破解qq密保问题答案?怎么...
  • 4怎样破解无权限访问受限?进入...
  • 52011 穿越火线战队收人口号|霸...
  • 赞助商广告

    图片文章导读