VB小程序_免费下载.doc_第1页
VB小程序_免费下载.doc_第2页
VB小程序_免费下载.doc_第3页
VB小程序_免费下载.doc_第4页
VB小程序_免费下载.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

VB小程序_免费下载.doc.doc 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.概述Visual Basic .NET通常缩写为VB.NET,在某些特定情况下也直接简称VB,比如在.NET这个大话题下或者与其他.NET语言一起讨论的时候。Visual Basic .NET属Basic系语言,其语法特点是以极具亲和力的英文单词为基础标识,以及与自然语言极其相近的逻辑表达,有时候你会觉得写VB.NET代码就好像在写英文句子一样,从这个角度来说,VB.NET似乎是最高级的一门编程语言,当然在Basic系语言中VB.NET也确实是迄今为止最强大的一门编程语言。Visual Basic .NET的应用范围包括windows桌面、web以及当下突然觉醒的正在奋力追赶的第三大移动平台Windows phone。2、设计思路及界面设计首先创建一个项目类型为Visual Basic,模板为Windows应用程序的项目,命名为建议画图程序。然后进行界面设计,在窗体上添加:一个MenuStrip菜单控件、一个ToolStrip工具栏控件,一个用作绘图板的PictureBox图片框控件、两个让用户选择颜色和线条宽标志的Lable控件、5个让用户选择线条宽度的button控件,一个Panel控件上、一个ImageList控件和一个作为状态信息栏的StatusStripr。调整窗体上各控件的大小及位置,如下图所示。设置各控件的相关属性,如下表所示控件类别属性名属性值FormText画图软件NameFrmpaintMenumsPainttext文件(&F)MenuStripNamemsPaintToolStripMenuItemNamemifileText文件(&F)ToolStripMenuItemNamemiNewText新建(&N)ToolStripMenuItemNamemiExitText退出(&E)ToolStripMenuItemNamemiOperatorText操作(&P)ToolStripNameTsPaintText工具栏ItemsImageListNameImglistImages控件类别属性名属性值PictureBoxNamepicPaintBackcolorWhiteBorderStyleFlatLableText画笔颜色LableText线条宽度5个buttonNamebtnLine1ImageList0,1,2,3,4Tag1,2,3,4,5FlatStyleFlatButtonBgColorBlueNameBtnSetColorFlatStyleFlat通过此程序,我可以完成以下操作:(1) 界面顶部有一个文件菜单按钮,通过这个按钮的功能可以实现新建、退出、操作等功能(2) 界面上部有个工具栏条,可以选择画图所用的工具,这10个按钮分别是:a) 铅笔:进行任意线条绘画操作;b) 直线:通过点击首尾两点左边画直线;c) 椭圆:画空心椭圆;d) 实心椭圆填充:对画的椭圆进行实心填充;e) 网格椭圆填充:对画的椭圆进行网格填充;f) 矩形:画空心矩形;g) 实心矩形填充:对画的矩形进行实心填充;h) 网格矩形填充:对画的矩形进行网格填充;i) ICON按钮:读取ICON图标进行编辑:j) 橡皮擦:橡皮擦功能。(3) 界面左边有线条选择按钮,通过点击不同的按钮,选择不同的线条宽度。(4) 线条选择下方有画笔颜色选择按钮,通过点击此按钮,选择不同的画笔颜色,并且按钮能显示此时的画笔颜色。3、程序运行结果:(1)利用铅笔按钮和直线按钮完成任意线条绘制和直线绘制,运行结果如下图所示: (2)利用椭圆和其填充按钮完成椭圆的绘制:(3)利用矩形和其填充按钮完成椭圆的绘制:(5) 通过ICON按钮,读取ICO图标文件(6) 通过界面上的线条宽度按钮,选择不同的线条宽度来画图:(7) 通过改变画笔颜色,选用不同颜色的画笔来画图:(8) 通过文件菜单按钮完成菜单选项,同时各菜单选项有快捷键至此,整个程序的主要功能都运行完毕4、代码清单Imports System.Drawing.Drawing2DPublic Class FrmPaint Private g As Graphics 绘图句柄 Private pstart As Point, pend As Point 定义画图的起始点,终点 Private mChoice As Integer 选择图形枚举 Private mWidth As Integer 画笔宽度 Private mIcon As Icon 用户选择图标 Private Enum mSelect 选择图形类别枚举 Pencil 铅笔 Line 直线 Ellipse 椭圆 FillEllipse 填充椭圆 StyleEllipse 风格椭圆 Rec 矩形 FillRec 填充矩形 StyleRec 风格矩形 Icon 图标 Eraser 橡皮 End Enum Private Sub 文件ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 文件ToolStripMenuItem.Click End Sub Private Sub FrmPaint_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load g = Me.picPaint.CreateGraphics 获取PictureBox的绘图句柄 mChoice = mSelect.Pencil 默认选择选铅笔作为绘图工具 mWidth = 1 初始化画笔宽度 End Sub 确保起始点坐标位于左上角 结束点坐标位于右下角 Private Sub Convert_Point() Dim ptemp As Point 用于交换的临时点 If pstart.X pend.Y Then ptemp.Y = pstart.Y pstart.Y = pend.Y pend.Y = ptemp.Y End If End If If pstart.X pend.X Then If pstart.Y pend.Y Then ptemp = pstart pstart = pend pend = ptemp End If End If End Sub Private Sub tsPaint_ItemClicked(ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles tsPaint.ItemClicked 获取发生事件的索引号 Me.mChoice = Me.tsPaint.Items.IndexOf(e.ClickedItem) If mChoice = mSelect.Icon Then 如果选择的是图标,则打开OpenFileDialog选取图标 Dim dlgOpen As New OpenFileDialog dlgOpen.Filter = 图标文件|*.ico If dlgOpen.ShowDialog = Windows.Forms.DialogResult.OK Then mIcon = New Icon(dlgOpen.FileName) End If End If End Sub Private Sub btnSetColor_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnSetColor.Click 打开颜色对话框 Dim dlgColor As New ColorDialog If dlgColor.ShowDialog = Windows.Forms.DialogResult.OK Then Me.btnSetColor.BackColor = dlgColor.Color End If End Sub Private Sub btnLine_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles btnLine1.Click, btnLine2.Click, btnLine3.Click, btnLine4.Click, btnLine5.Click 把所有按钮的背景色都设为Black Me.btnLine1.BackColor = Color.White Me.btnLine2.BackColor = Color.White Me.btnLine3.BackColor = Color.White Me.btnLine4.BackColor = Color.White Me.btnLine5.BackColor = Color.White 用户选中的按钮背景色为Blue CType(sender, Button).BackColor = Color.Black 把画笔宽度设为用户选择按钮的Tag值 mWidth = CType(sender, Button).Tag End Sub Private Sub picPaint_MouseDown(ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.MouseEventArgs)Handles picPaint.MouseDown If e.Button = Windows.Forms.MouseButtons.Left Then 如果用户按下的是鼠标左键,则将当前点坐标赋给起始点 pstart.X = e.X pstart.Y = e.Y End If End Sub Private Sub picPaint_MouseUp(ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.MouseEventArgs)Handles picPaint.MouseUp If e.Button = Windows.Forms.MouseButtons.Left Then 如果用户按下的是鼠标左键,记录终点坐标 pend.X = e.X pend.Y = e.Y 根据保存的mChoice绘制图形 Select Case mChoice Case mSelect.Line 用户在工具栏中选择的是铅笔 Dim myPen As New Pen(Me.btnSetColor.BackColor, mWidth) g.DrawLine(myPen, pstart, pend) 根据起点和终点绘制直线 Case mSelect.Rec 用户在工具栏中选择的是空心矩形 Convert_Point() 转换矩形的起点为其左上点 Dim myPen As New Pen(Me.btnSetColor.BackColor, mWidth) g.DrawRectangle(myPen, pstart.X, pstart.Y, _ pend.X - pstart.X, pend.Y - pstart.Y) 根据起点和终点绘制空心矩形 Case mSelect.FillRec 用户在工具栏中选择的是填充矩形 Convert_Point() 转换矩形的起点为其左上点 Dim rec As New Rectangle(pstart.X, pstart.Y, _ pend.X - pstart.X, pend.Y - pstart.Y) 根据起点和终点定义矩形 Dim sbr As New SolidBrush(btnSetColor. BackColor) 定义画刷颜色为用户选择的颜色 g.FillRectangle(sbr, rec) 绘制填充矩形 Case mSelect.StyleRec 用户在工具栏中选择的是风格矩形 Convert_Point() 转换矩形的起点为其左上点 Dim rec As New Rectangle(pstart.X, pstart.Y, _ pend.X - pstart.X, pend.Y - pstart.Y) 根据起点和终点定义矩形 Dim hbr As New HatchBrush(HatchStyle.Cross, Color.White, btnSetColor.BackColor) g.FillRectangle(hbr, rec) 用画刷填充矩形 Case mSelect.Ellipse 用户在工具栏中选择的是空心椭圆 Convert_Point() 转换椭圆外接矩形的起点为其左上点 Dim pen1 As New Pen(btnSetColor.BackColor, mWidth) g.DrawEllipse(pen1, pstart.X, pstart.Y, _ pend.X - pstart.X, pend.Y - pstart.Y) 根据椭圆外接矩形的起点和终点绘制椭圆() Case mSelect.FillEllipse 用户在工具栏中选择的是填充椭圆 Convert_Point() 转换椭圆外接矩形的起点为其左上点 Dim rec As New Rectangle(pstart.X, pstart.Y, _ pend.X - pstart.X, pend.Y - pstart.Y) 定义椭圆的外接矩形 Dim sbr As New SolidBrush(btnSetColor. BackColor) 定义画刷颜色为用户选择的颜色 g.FillEllipse(sbr, rec) 用画刷填充矩形 Case mSelect.StyleEllipse 用户在工具栏中选择的是风格椭圆 Convert_Point() 转换椭圆外接矩形的起点为其左上点 Dim rec As New Rectangle(pstart.X, pstart.Y, _ pend.X - pstart.X, pend.Y - pstart.Y) 定义椭圆的外接矩形 定义画刷风格为Cross型,前景色为白色,背景色为用户选择 Dim hbr As New HatchBrush(HatchStyle.Cross, Color.White, btnSetColor.BackColor) g.FillEllipse(hbr, rec) 用画刷填充矩形 End Select End If End Sub Private Sub picPaint_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)Handles picPaint.MouseMove If e.Button = Windows.Forms.MouseButtons.Left Then 如果用户按下的是鼠标左键,根据保存的mChoice绘制图形 Select Case mChoice Case mSelect.Pencil 用户在工具栏中选择的是铅笔 Dim pen1 As New Pen(btnSetColor.BackColor, mWidth) pend.X = e.X pend.Y = e.Y g.DrawLine(pen1, pstart, pend) pstart = pend 将已经绘制的终点作为下一次的绘制的起点 Case mSelect.Eraser 用户在工具栏中选择的是橡皮 Dim myPen As New Pen(Color.White, mWidth) 定义白色画笔作为擦除效果 pend.X =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论