VB小程序

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Me.btnLine4.BackColor = Color.White
Me.btnLine5.BackColor = Color.White
'用户选中的按钮背景色为Blue
CType(sender, Button).BackColor = Color.Black
'把画笔宽度设为用户选择按钮的Tag值
(6)通过界面上的线条宽度按钮,选择不同的线条宽度来画图:
(7)通过改变画笔颜色,选用不同颜色的画笔来画图:
(8)通过文件菜单按钮完成菜单选项,同时各菜单选项有快捷键
至此,整个程序的主要功能都运行完毕
4、代码清单
Imports System.Drawing.Drawing2D
Public Class FrmPaint
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, _
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) '根据起点和终点绘制直线
Visual Basic .NET的应用范围包括windows桌面、web以及当下突然觉醒的正在奋力追赶的第三大移动平台Windows phone。
2、设计思路及界面设计
首先创建一个项目类型为Visual Basic,模板为Windows应用程序的项目,命名为建议画图程序。然后进行界面设计,在窗体上添加:一个MenuStrip菜单控件、一个ToolStrip工具栏控件,一个用作绘图板的PictureBox图片框控件、两个让用户选择颜色和线条宽标志的Lable控件、5个让用户选择线条宽度的button控件,一个Panel控件上、一个ImageList控件和一个作为状态信息栏的StatusStripr。调整窗体上各控件的大小及位置,如下图所示。
属性名
属性值
PictureBox
Name
picPaint
Backcolor
White
BorderStyle
Flat
Lable
Text
画笔颜色
Lable
Text
线条宽度
5个button
Name
btnLine1……
ImageList
0,1,2,3,4
Tag
1,2,3,4,5
FlatStyle
Flat
Button
Dim ptemp As Point '用于交换的临时点
If pstart.X < pend.X Then
If pstart.Y > 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
'获取发生事件的索引号
Me.mChoice = Me.tsPaint.Items.IndexOf(e.ClickedItem)
If mChoice = mSelect.Icon Then
'如果选择的是图标,则打开OpenFileDialog选取图标
Dim dlgOpen As New OpenFileDialog
Text
新建(&N)
ToolStBaidu NhomakorabeaipMenuItem
Name
miExit
Text
退出(&E)
ToolStripMenuItem
Name
miOperator
Text
操作(&P)
ToolStrip
Name
TsPaint
Text
工具栏
Items
ImageList
Name
Imglist
Images
控件类别
End If
End Sub
Private Sub tsPaint_ItemClicked(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles tsPaint.ItemClicked
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
1.概述
Visual Basic .NET通常缩写为VB.NET,在某些特定情况下也直接简称VB,比如在.NET这个大话题下或者与其他.NET语言一起讨论的时候。
Visual Basic .NET属Basic系语言,其语法特点是以极具亲和力的英文单词为基础标识,以及与自然语言极其相近的逻辑表达,有时候你会觉得写VB.NET代码就好像在写英文句子一样,从这个角度来说,VB.NET似乎是最高级的一门编程语言,当然在Basic系语言中VB.NET也确实是迄今为止最强大的一门编程语言。
BgColor
Blue
Name
BtnSetColor
FlatStyle
Flat
通过此程序,我可以完成以下操作:
(1)界面顶部有一个文件菜单按钮,通过这个按钮的功能可以实现新建、退出、操作等功能
(2)界面上部有个工具栏条,可以选择画图所用的工具,这10个按钮分别是:
a)铅笔:进行任意线条绘画操作;
b)直线:通过点击首尾两点左边画直线;
c)椭圆:画空心椭圆;
d)实心椭圆填充:对画的椭圆进行实心填充;
e)网格椭圆填充:对画的椭圆进行网格填充;
f)矩形:画空心矩形;
g)实心矩形填充:对画的矩形进行实心填充;
h)网格矩形填充:对画的矩形进行网格填充;
i)ICON按钮:读取ICON图标进行编辑:
j)橡皮擦:橡皮擦功能。
(3)界面左边有线条选择按钮,通过点击不同的按钮,选择不同的线条宽度。
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
(4)线条选择下方有画笔颜色选择按钮,通过点击此按钮,选择不同的画笔颜色,并且按钮能显示此时的画笔颜色。
3、程序运行结果:
(1)利用铅笔按钮和直线按钮完成任意线条绘制和直线绘制,运行结果如下图所示:
(2)利用椭圆和其填充按钮完成椭圆的绘制:
(3)利用矩形和其填充按钮完成椭圆的绘制:
(5)通过ICON按钮,读取ICO图标文件
ByVal e As System.Windows.Forms.MouseEventArgs)Handles picPaint.MouseUp
If e.Button = Windows.Forms.MouseButtons.Left Then
'如果用户按下的是鼠标左键,记录终点坐标
pend.X = e.X
btnLine3.Click, btnLine4.Click, btnLine5.Click
'把所有按钮的背景色都设为Black
Me.btnLine1.BackColor = Color.White
Me.btnLine2.BackColor = Color.White
Me.btnLine3.BackColor = Color.White
设置各控件的相关属性,如下表所示
控件类别
属性名
属性值
Form
Text
画图软件
Name
Frmpaint
Menu
msPaint
text
文件(&F)
MenuStrip
Name
msPaint
ToolStripMenuItem
Name
mifile
Text
文件(&F)
ToolStripMenuItem
Name
miNew
Case mSelect.Rec '用户在工具栏中选择的是空心矩形
Convert_Point() '转换矩形的起点为其左上点
Dim myPen As New Pen(Me.btnSetColor.BackColor, mWidth)
g.DrawRectangle(myPen, pstart.X, pstart.Y, _
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,
pend.X - pstart.X, pend.Y - pstart.Y)
'根据起点和终点定义矩形
Dim sbr As New SolidBrush(btnSetColor.BackColor)
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
ByVal e As System.EventArgs) Handles btnSetColor.Click
'打开"颜色"对话框
Dim dlgColor As New ColorDialog
If dlgColor.ShowDialog = Windows.Forms.DialogResult.OK Then
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, _
pend.X - pstart.X, pend.Y - pstart.Y) '根据起点和终点绘制空心矩形
Case mSelect.FillRec '用户在工具栏中选择的是填充矩形
Convert_Point() '转换矩形的起点为其左上点
Dim rec As New Rectangle(pstart.X, pstart.Y, _
If pstart.Y < pend.Y Then
ptemp.X = pstart.X
pstart.X = pend.X
pend.X = ptemp.X
End If
If pstart.Y > pend.Y Then
ptemp = pstart
pstart = pend
pend = ptemp
End If
g = Me.picPaint.CreateGraphics '获取PictureBox的绘图句柄
mChoice = mSelect.Pencil '默认选择选铅笔作为绘图工具
mWidth = 1 '初始化画笔宽度
End Sub
'确保起始点坐标位于左上角
'结束点坐标位于右下角
Private Sub Convert_Point()
相关文档
最新文档