用VB编写画图程序
画图程序VB代码

'清除原来位置画的线段
Picture1.Line (x0, y0)-(xnow, ynow), Not (Picture1.ForeColor), B
Case 1 '画选择框
DrawBlack = True
x0 = x: y0 = y
Sx0 = x: Sy0 = y
Picture1.DrawStyle = 2
xnow = x: ynow = y
Picture1.Line (x0, y0)-(x, y), Not (Picture1.ForeColor)
xnow = x: ynow = y
End If
Case 1
If DrawBlack Then
Picture1.Line (x0, y0)-(xnow, ynow), Not (Picture1.ForeColor), B
Picture1.DrawWidth = Linewdh
Picture1.DrawStyle = 0
Picture1.DrawMode = 13
End If
End Sub
Private Sub PicColor_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim x0, y0, xnow, ynow As Single
Private Sub Form_Load()
Linewdh = 1
DrawTool = 0
End Sub
Private Sub LblWidth_Click(Index As Integer)
VB实现画图小工具

题目: VB实现画图小工具VB实现画图小工具一、计算机图形学1.1计算机图形学的发展1950年,第一台图形显示器作为美国麻省理工学院(MIT)旋风I号(Whirlwind I)计算机的附件诞生了。
该显示器用一个类似于示波器的阴极射线管(CRT)来显示一些简单的图形。
1958年美国Calp公司由联机的数字记录仪发展成滚筒式绘图仪,GerBer公司把数控机床发展成为平板式绘图仪。
在整个50年代,只有电子管计算机,用机器语言编程,主要应用于科学计算,为这些计算机配置的图形设备仅具有输出功能。
计算机图形学处于准备和酝酿时期,并称之为:“被动式”图形学。
到50年代末期,MIT的林肯实验室在“旋风”计算机上开发SAGE空中防御体系,第一次使用了具有指挥和控制功能的CRT显示器,操作者可以用笔在屏幕上指出被确定的目标。
与此同时,类似的技术在设计和生产过程中也陆续得到了应用,它预示着交互式计算机图形学的诞生。
1962年,MIT林肯实验室的Ivan E.Sutherland 发表了一篇题为“Sketchpad:一个人机交互通信的图形系统”的博士,他在中首次使用了计算机图形学“puter Graphics”这个术语,证明了交互计算机图形学是一个可行的、有用的研究领域,从而确定了计算机图形学作为一个崭新的科学分支的独立地位。
他在中所提出的一些基本概念和技术,如交互技术、分层存储符号的数据结构等至今还在广为应用。
1964年MIT的教授Steven A. Coons提出了被后人称为超限插值的新思想,通过插值四条任意的边界曲线来构造曲面。
同在60年代早期,法国雷诺汽车公司的工程师Pierre Bézier发展了一套被后人称为Bézier 曲线、曲面的理论,成功地用于几何外形设计,并开发了用于汽车外形设计的UNISURF系统。
Coons方法和Bézier方法是CAGD最早的开创性工作。
值得一提的是,计算机图形学的最高奖是以 Coons的名字命名的,而获得第一届(1983)和第二届(1985) Steven A.Coons 奖的,恰好是Ivan E.Sutherland和Pierre B ézier,这也算是计算机图形学的一段佳话。
VB绘图

VB绘图.txt 画出单个像素即画点。
画点是最简单的图形操作。
VB 6 . 0 用 Pset 方法在指定位置处画点,并可以设置该点像素的色彩。
语句格式:[对象名.] Pset(x,y)[, < 颜色 >]功能:在指定对象上的指定位置画指定颜色的点。
说明:( 1 )对象名指窗体或图片框。
缺省时为窗体。
( 2 )参数 x 和 y 指定点的位置坐标,是单精度参数,可以接受整数或分数的输人。
该参数的输人可以是任何含有变量的数值表达式。
例如,执行下面语句:Picturel.Pset(1500,2000)则在图片框 Picture1中(1500,2000)处画一个点( 3 )如果缺省<颜色>参数,则将点设置为前景色。
选择<颜色>参数可以将点设置为指定的颜色。
该参数可以引用 QBColor 函数或 RGB 函数产生的颜色。
例如,以下语句在当前窗体画亮蓝色的点。
Pset ( 1500 , 2000 ) ,RGB ( 0 , 0 , 255 )若需要“擦除”一点,只要把该点的颜色设置为背景色即可。
Pset ( 1500 , 2000 ) , BackColor7.2.2用Line方法画线和矩形1.用Line方法绘制直线为了在两点之间绘制一条直线,除了使用直线控件外, VB还提供了Line方法。
语法格式:[对象.] Line [[ Step ]( xl , y1 )]一[ Step ]( x2 , y2 ) [ ,颜色 ]功能:在对象上的两个指定点之间画一条指定颜色的直线。
说明:对象是指窗体、图片框等,缺省指窗体。
第一个 Step表示它后面的一对坐标是相对于当前坐标的偏移量,第二个Step表示它后面的一对坐标是相对于第一对坐标的偏移量。
( 3)如果不指定颜色则使用所在控件的前景色作为直线的颜色。
当然也可以为直线指定其他颜色例如:Line(1000,1000)-(2000,2000)Line-(4000,4000)Picturel.Line(100,500)-Step(1000,350)Forml.Line Step(200,200)- Step(800,1000)Line(500,200)-(3000,3500),QBColor(12)上述五行命令使用 Line方法的不同形式画直线。
VB画图小程序设计

VB程序设计实验报告(画图板小程序)1、实验目的1.了解VB系统对计算机软、硬件的要求;2.熟悉VB的系统环境,了解VB程序的编写、保存和编译的方法过程;3.熟悉常用控件的使用方法。
4.会用VB编写一些简单的小软件。
2、实验要求作一个画图板小程序(本题由5人完成)功能:设计一个画图板程序,可模仿Windows操作系统中“画图”程序。
系统要求设计合理,逻辑性强,界面友好。
图片浏览器(功能:可浏览和添加相片。
)3、实验步骤(写出界面设计和代码设计)○1.先整体规划进行界面设计如图所示○2.分工合作进行各模块代码编写。
○3.大家共同合作将各自负责的那部分任务合在一起,然后修改完善程序。
再在一起讨论心得。
4、实验心得1.VB程序设计是一项很神奇的东西。
如同C语言,但比C语言简单。
2.在程序的学习过程中,实验准备是极其重要和环节,以前实验认真做的那方面就好做的多了。
但以前没有实践过的就两眼一摸黑。
3.VB的功能十分强大但要下功夫才能学得好。
尤其是程序设计中,字母的拼写,大小写,符号的准确性十分重要。
4.这次的课程实验,使我对于VB课程的实验和程序设计有了更深层次的了解,特别是明白了标签、文本、按钮等的属性的设置的应用,也学习了一些简单的函数。
的在老师的指导和帮助以及自己的努力下终于完成了程序设计课题。
5.VB的课程设计,对于我们来说是一个锻炼,它提升了我们的编程水平。
一学期的上机操作,使我们学到了更多的VB知识,而且我们在编程期间,学会了协作,团结,为我们积累了资本。
总之,这次课程设计让我受益匪浅,我将会继续学习VB知识,提高水平。
6.在学习VB之后,同样,对C语言、VF等产生了极大地兴趣。
vb画图程序

1.2 任务与分析本段应详细阐述所选设计题目任务的具体内容及具体要求,分析设计软件的预期功能和涉及的VB知识点。
简易绘图板这小程序要求能完成简单的图形绘制,如直线、圆、矩形、椭圆;能实现基本的线型线宽的改变;能实现绘图界面的清空;能通过菜单栏实现文件的保存、打开以及在帮助菜单中找到使用说明和其它问题解决办法。
该程序中涉及:各种基本绘图语句的运用条件语句的使用控件数组的创建和使用active控件的创建和使用2 方案设计设计一个类似于windows附件中绘图板的程序画直线状态下点鼠标左键位置为直线的起点,松开鼠标所在位置点为终点。
画圆状态下圆心,松开鼠标所在位置点为圆上一点。
画矩形状态下点鼠标左键位置和松开鼠标所在位置点为所画矩形的两个对角点。
加载窗体默认绘图为黑色细实线画直线,通过点击界面上的相应控件改变线型、颜色、粗细。
点击“涂鸦”按钮实现自由绘画点击“清空”按钮清楚图纸上的内容在菜单栏中添加保存、打开和帮助项3 界面设计界面设计结果如下图界面设计步骤1、Ctrl+E打开菜单栏编辑器添加菜单项目3、添加图片框控件里的line及shape4 代码设计及程序调试1、声明必须的全局变量Dim reX As Integer, reY As Integer, k As Integer, xx As Integer, xk As Integer, ys As Integer, tuya As Integer ‘声明必要的全局变量2、清空绘图板上的图像Private Sub Command1_Click() ‘清空绘图板Picture1.ClsEnd Sub3、涂鸦状态选择Private Sub Command2_Click() ‘涂鸦状态选择If tuya = 0 Then ‘如果不是涂鸦状态则进入涂鸦状态,是则退出tuya = 1Elsetuya = 0End IfEnd Sub4、拾取起点坐标Sub picture1_mousedown(button As Integer, shift As Integer, X As Single, y As Single) reX = X ‘拾取坐标reY = yEnd Sub5、实现自由绘制Sub picture1_mousemove(button As Integer, shift As Integer, X As Single, y As Single) If xk = 0 Then ‘默认线宽为1xk = 1End IfIf tuya = 1 And button = 1 ThenPicture1.DrawWidth = xk ‘使用线宽Picture1.DrawStyle = xx ‘使用线型Picture1.Line (reX, reY)-(X, y), QBColor(ys) ‘画线reX = X ‘又将当前点坐标赋给reX、reYreY = yEnd IfEnd Sub6、绘制图像Sub picture1_mouseup(button As Integer, shift As Integer, X As Single, y As Single) If xk = 0 Thenxk = 1End If有、Picture1.DrawWidth = xkPicture1.DrawStyle = xxIf k = 0 And button = 1 Then ‘画直线Picture1.Line (reX, reY)-(X, y), QBColor(ys)End IfIf k = 1 And button = 1 Then ‘画圆rrr = Sqr((reX - X) ^ 2 + (reY - y) ^ 2)Picture1.Circle (reX, reY), rrr, QBColor(ys)End IfIf k = 2 And button = 1 Then ‘画矩形Picture1.Line (reX, reY)-(X, y), QBColor(ys), BEnd IfIf k = 3 And button = 1 Then ‘画椭圆rrr = Sqr((reX - X) ^ 2 + (reY - y) ^ 2)Picture1.Circle (reX, reY), rrr, QBColor(ys), , , 1 / 3End IfEnd Sub7、选择线型Private Sub Picture2_Click(Index As Integer) ‘选择线型xx = IndexEnd Sub8、选择颜色Private Sub Picture3_Click(Index As Integer) ‘选择颜色If Index = 0 Thenys = 0ElseIf Index = 1 Thenys = 12ElseIf Index = 2 Thenys = 14ElseIf Index = 3 Thenys = 9End If End Sub。
vb3D绘图示范代码

Visual Basic 3D 绘图示例
以下是 Visual Basic 中绘制 3D 线的示例代码:
在这段代码中,定义了一个 Form1 类,该类重写了 Paint 事件处理程序。
在事件处理程序中,它创建了一个 3D 矩阵,并使用它将两个 Imports Public Class
Private Sub As Object As Handles Me
Dim As New
305040100200300
Dim As New 000
Dim As New 100100100
Dim As Dim As
Dim As
End Sub
Private Function As As Dim As Integer CInt Me Dim As Integer CInt Me Return New
End Function End Class
Public Class
3D 点转换并投影到 2D 平面上。
然后,它使用Graphics对象的DrawLine方法连接这两个点。
请注意,这只是一个简单的示例,旨在演示 Visual Basic 中 3D 绘图的基本概念。
通常,一个完整的 3D 图形系统会包括额外的类和函数,用于更高级的 3D 操作,例如照明、阴影和透视投影。
用VB制作绘图程序

用VB制作绘图程序第一步,先构思要制作的程序的界面;第二步,运行Visual Studio,选择Visual Basic,制作Windows 程序,把名字改为huitu;第三步,在Form1中设计用户界面,把Botton、Panel拖放到Form1中;第四步,设置对象的属性,把Form1的text属性设置为绘图程序,把Botton1的text属性设置为圆形,把Botton2的text属性设置为长方形;第五步,编写代码,代码如下:Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim g As Graphics = Panel1.CreateGraphicsDim pen1 As Pen = Pens.Blackg.DrawEllipse(pen1, 20, 20, 30, 30)End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickDim g As Graphics = Panel1.CreateGraphicsDim pen1 As Pen = Pens.Blackg.DrawRectangle(pen1, 20, 20, 30, 30)End SubPrivate Sub Form1_Load(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) Handles MyBase.LoadEnd SubPrivate Sub Panel1_Paint(ByVal sender As System.Object, ByVal e AsSystem.Windows.Forms.PaintEventArgs) HandlesPanel1.PaintEnd SubEnd Class第六步,编译、运行、调试程序;第七步,制作安装程序,点击生成按钮,点击生成下的菜单生成,再点击发布,即可完成发布!生成程序两个文件:。
VB_绘图_直线_圆_矩形_自由绘图_实例

VB 绘图要求:在VB窗口中,添加一个Picture控件,在该控件中任意点击,拖拽画图画直线Dim a As IntegerDim b As IntegerPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 Thena = xb = yEnd IfEnd SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 ThenPicture1.ClsPicture1.Line (a, b)-(x, y)End IfEnd Sub画矩形Dim a As IntegerDim b As IntegerPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 Thena = xb = yEnd IfEnd SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 ThenPicture1.ClsPicture1.Line (a, b)-(a, y)Picture1.Line (a, b)-(x, b)Picture1.Line (x, b)-(x, y)Picture1.Line (a, y)-(x, y)End IfEnd Sub画圆Dim a As IntegerDim b As IntegerPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 Thena = xb = yEnd IfEnd SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 ThenPicture1.ClsPicture1.Circle (a, b), Sqr((x - a) ^ 2 + (y - b) ^ 2)End IfEnd Sub自由绘图Dim a As IntegerDim b As IntegerPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 Thena = xb = yEnd IfEnd SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 ThenPicture1.PSet (x, y)End IfEnd Sub实例:设计一个窗口,效果如下图,要求设置四个单选框,分别为画直线、画圆、画矩形、自由绘图,选中任意一项,便可在左侧的picture控件中任意地方拖拽出相应的图形。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.设置各控件的相关属性设置各控件的相关属性,如表11-9所示。
表11-9 画图程序各控件属性设置4.代码设计(1)引入命名空间:Imports System.Drawing.Drawing2D(2)在FrmPaint类里定义全局变量和mSelect枚举结构:1.Private g As Graphics '绘图句柄2.Private pstart As Point, pend As Point '定义画图的起始点,终点3.Private mChoice As Integer'选择图形枚举4.Private mWidth As Integer'画笔宽度5.Private mIcon As Icon '用户选择图标6.Private Enum mSelect '选择图形类别枚举7. Pencil '铅笔8. Line '直线9. Ellipse '椭圆10. FillEllipse '填充椭圆11. StyleEllipse '风格椭圆12. Rec '矩形13. FillRec '填充矩形14. StyleRec '风格矩形15. Icon '图标16. Eraser '橡皮17.End Enum(3)在FrmPaint的Load事件中初始化全局变量和Graphics对象:1.Private Sub FrmPaint_Load(ByVal sender As System.Object, _2.ByVal e As System.EventArgs) Handles MyBase.Load3.4. g = Me.picPaint.CreateGraphics '获取PictureBox的绘图句柄5. mChoice = mSelect.Pencil '默认选择选铅笔作为绘图工具6. mWidth = 1 '初始化画笔宽度7.End Sub(4)定义转换坐标起点和终点的过程Convert_Point()。
转换坐标起始点和终点,确保起始点始终在终点的左上方,代码如下:1.'确保起始点坐标位于左上角2.'结束点坐标位于右下角3.Private Sub Convert_Point()4.Dim ptemp As Point '用于交换的临时点5.If pstart.X < pend.X Then6.If pstart.Y > pend.Y Then7. ptemp.Y = pstart.Y8. pstart.Y = pend.Y9. pend.Y = ptemp.Y10.End If11.End If12.If pstart.X > pend.X Then13.If pstart.Y < pend.Y Then14. ptemp.X = pstart.X15. pstart.X = pend.X16. pend.X = ptemp.X17.End If18.If pstart.Y > pend.Y Then19. ptemp = pstart20. pstart = pend21. pend = ptemp22.End If23.End If24.End Sub(5)为工具栏ItemClick事件编写代码:1.Private Sub tsPaint_ItemClicked(ByVal sender As System.Object, _2.ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles tsPaint.ItemClicked3.'获取发生事件的索引号4.Me.mChoice = Me.tsPaint.Items.IndexOf(e.ClickedItem)5.If mChoice = mSelect.Icon Then6.'如果选择的是图标,则打开OpenFileDialog选取图标7.Dim dlgOpen As New OpenFileDialog8. dlgOpen.Filter = "图标文件|*.ico"9.If dlgOpen.ShowDialog = Windows.Forms.DialogResult.OK Then10. mIcon = New Icon(dlgOpen.FileName)11.End If12.End If(6)为btnSetColor控件的Click事件,编写代码,选择画笔颜色,代码如下:1.Private Sub btnSetColor_Click(ByVal sender As System.Object, _2.ByVal e As System.EventArgs) Handles btnSetColor.Click3.'打开"颜色"对话框4.Dim dlgColor As New ColorDialog5.If dlgColor.ShowDialog = Windows.Forms.DialogResult.OK Then6.Me.btnSetColor.BackColor = dlgColor.Color7.End If8.End Sub(7)编写选择线条宽度的共享事件过程btnLines_Click()代码:1.Private Sub btnLine_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) _2.Handles btnLine1.Click, btnLine2.Click,btnLine3.Click, btnLine4.Click, btnLine5.Click3.4.'把所有按钮的背景色都设为Black5.Me.btnLine1.BackColor = Color.White6.Me.btnLine2.BackColor = Color.White7.Me.btnLine3.BackColor = Color.White8.Me.btnLine4.BackColor = Color.White9.Me.btnLine5.BackColor = Color.White10.11.'用户选中的按钮背景色为Blue12.CType(sender, Button).BackColor = Color.Black13.14.'把画笔宽度设为用户选择按钮的Tag值15. mWidth = CType(sender, Button).Tag16.End Sub(8)为PictrueBox的MouseDown(鼠标按下)事件编写代码。
在FrmPaint的代码窗口顶部的"对象"下拉列表框中选择picPaint,然后在右侧的"事件"下拉列表框中选择MouseDown,此时代码编辑器中已经自动生成了picPaint_MouseUp的事件代码,并把鼠标定位于事件过程内部的第一行,在该过程中编写如下代码:1.Private Sub picPaint_MouseDown(ByVal sender As System.Object, _2.ByVal e As System.Windows.Forms.MouseEventArgs)Handles picPaint.MouseDown3.If e.Button = Windows.Forms.MouseButtons.Left Then4.5.'如果用户按下的是鼠标左键,则将当前点坐标赋给起始点6. pstart.X = e.X7. pstart.Y = e.Y8.End If9.End Sub11.6.2 编写一个仿Windows画图程序(3)(9)为PictrueBox的MouseUp(鼠标释放)事件编写代码:1.Private Sub picPaint_MouseUp(ByVal sender As System.Object, _2.ByVal e As System.Windows.Forms.MouseEventArgs)Handles picPaint.MouseUp3.4.If e.Button = Windows.Forms.MouseButtons.Left Then5.'如果用户按下的是鼠标左键,记录终点坐标6. pend.X = e.X7. pend.Y = e.Y8.'根据保存的mChoice绘制图形9.Select Case mChoice10.Case mSelect.Line '用户在工具栏中选择的是铅笔11.Dim myPen As New Pen(Me.btnSetColor.BackColor, mWidth)12. g.DrawLine(myPen, pstart, pend) '根据起点和终点绘制直线13.14.Case mSelect.Rec '用户在工具栏中选择的是空心矩形15. Convert_Point() '转换矩形的起点为其左上点16.Dim myPen As New Pen(Me.btnSetColor.BackColor, mWidth)17. g.DrawRectangle(myPen, pstart.X, pstart.Y, _18. pend.X - pstart.X, pend.Y - pstart.Y) '根据起点和终点绘制空心矩形19.20.Case mSelect.FillRec '用户在工具栏中选择的是填充矩形21. Convert_Point() '转换矩形的起点为其左上点22.Dim rec As New Rectangle(pstart.X, pstart.Y, _23. pend.X - pstart.X, pend.Y - pstart.Y)'根据起点和终点定义矩形24.Dim sbr As New SolidBrush(btnSetColor.BackColor) '定义画刷颜色为用户选择的颜色25. g.FillRectangle(sbr, rec) '绘制填充矩形26.27.Case mSelect.StyleRec '用户在工具栏中选择的是风格矩形28. Convert_Point() '转换矩形的起点为其左上点29.Dim rec As New Rectangle(pstart.X, pstart.Y, _30. pend.X - pstart.X, pend.Y - pstart.Y)'根据起点和终点定义矩形31.' 定义画刷风格为Cross型,前景色为白色,背景色为用户选择32.Dim hbr As New HatchBrush(HatchStyle.Cross,Color.White, btnSetColor.BackColor)33. g.FillRectangle(hbr, rec) '用画刷填充矩形34.35.Case mSelect.Ellipse '用户在工具栏中选择的是空心椭圆36. Convert_Point() '转换椭圆外接矩形的起点为其左上点37.Dim pen1 As New Pen(btnSetColor.BackColor, mWidth)38. g.DrawEllipse(pen1, pstart.X, pstart.Y, _39. pend.X - pstart.X, pend.Y - pstart.Y) '根据椭圆外接矩形的起点和终点绘制椭圆40.41.Case mSelect.FillEllipse '用户在工具栏中选择的是填充椭圆42. Convert_Point() '转换椭圆外接矩形的起点为其左上点43.Dim rec As New Rectangle(pstart.X, pstart.Y, _44. pend.X - pstart.X, pend.Y - pstart.Y) '定义椭圆的外接矩形45.Dim sbr As New SolidBrush(btnSetColor.BackColor) '定义画刷颜色为用户选择的颜色46. g.FillEllipse(sbr, rec) '用画刷填充矩形47.48.Case mSelect.StyleEllipse '用户在工具栏中选择的是风格椭圆49. Convert_Point() '转换椭圆外接矩形的起点为其左上点50.Dim rec As New Rectangle(pstart.X, pstart.Y, _51. pend.X - pstart.X, pend.Y - pstart.Y) '定义椭圆的外接矩形52.' 定义画刷风格为Cross型,前景色为白色,背景色为用户选择53.Dim hbr As New HatchBrush(HatchStyle.Cross,Color.White, btnSetColor.BackColor)54. g.FillEllipse(hbr, rec) '用画刷填充矩形55.End Select56.End If57.End Sub(10)为PictrueBox的MouseMove(鼠标移动)事件编写代码:1.Private Sub picPaint_MouseMove(ByVal sender As System.Object, _2.ByVal e As System.Windows.Forms.MouseEventArgs)Handles picPaint.MouseMove3.If e.Button = Windows.Forms.MouseButtons.Left Then4.'如果用户按下的是鼠标左键,根据保存的mChoice绘制图形5.Select Case mChoice6.Case mSelect.Pencil '用户在工具栏中选择的是铅笔7.Dim pen1 As New Pen(btnSetColor.BackColor, mWidth)8. pend.X = e.X9. pend.Y = e.Y10. g.DrawLine(pen1, pstart, pend)11. pstart = pend '将已经绘制的终点作为下一次的绘制的起点12.Case mSelect.Eraser '用户在工具栏中选择的是橡皮13.Dim myPen As New Pen(Color.White, mWidth)'定义白色画笔作为擦除效果14. pend.X = e.X15. pend.Y = e.Y16. g.DrawLine(myPen, pstart, pend) '将已经绘制的终点作为下一次绘制的起点17. pstart = pend '将已经绘制的终点作为下一次绘制的起点18.End Select19.End If20.End Sub(11)为PictrueBox的Mouse的Click(鼠标单击)事件编写代码:1.Private Sub picPaint_Click(ByVal sender As System.Object, _2.ByVal e As System.EventArgs) Handles picPaint.Click3.If mChoice = mSelect.Icon Then4.'画图标5. g.DrawIcon(mIcon, pstart.X, pstart.Y)6.End If7.End Sub(12)为"新建"miNew的Click事件编写代码:1.Private Sub miNew_Click(ByVal sender As System.Object, _2.ByVal e As System.EventArgs) Handles miNew.Click3.4.Me.picPaint.Refresh()5.End Sub(13)为"退出"菜单miExit的Click事件编写代码:1.Private Sub miExit_Click(ByVal sender As System.Object, _2.ByVal e As System.EventArgs) Handles miExit.Click3. Application.Exit()4.End Sub(14)调试运行程序。