VB第2章.docx
- 文档编号:11353564
- 上传时间:2023-05-31
- 格式:DOCX
- 页数:26
- 大小:25.99KB
VB第2章.docx
《VB第2章.docx》由会员分享,可在线阅读,更多相关《VB第2章.docx(26页珍藏版)》请在冰点文库上搜索。
VB第2章
【例2-1】改变窗体属性的设计示例。
要求:
设计一个窗体,当用鼠标单击它时,其横向和纵向尺寸分别增加120个像素,当用鼠标双击时,其横向和纵向尺寸分别减小120个像素。
步骤:
(1)新建项目,将窗体保存的文件名改为frmchange.vb,将窗体的名称(Name属性)改为frmchange,将窗体的Text属性设为“改变大小”。
(2)双击窗体或单击【视图】→【代码】命令,进入代码界面。
(3)在代码界面中,单击上方左边【类名】下拉列表框,选择frmchangeEvents,如图2-7(a)所示。
单击上方右边【方法名称】列表框,将其设为click,如图2-7(b)所示。
(a)(b)
图2-7选择类名和方法
(4)选择完毕后,在下方的代码输入窗口中会出现如下代码:
PrivateSubfrmchange_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Click
EndSub
这是一个窗体的鼠标单击事件程序模块,第一行是程序开头,“EndSub”一行表示程序结束。
在模块中填写如下代码:
Me.Height=Me.Height+120
Me.Width=Me.Width+120
如图2-8所示。
图2-8添加程序代码
(5)单击【项目】菜单最下方的【属性】命令,将启动对象改为frmchange,单击【运行】按钮或单击【调试】→【启动】命令。
程序运行后,单击窗体,会看到每单击一下,窗体将变大一点。
(6)回到代码窗口,此时左上方的【类名】下拉框中仍为frmchange,将右上方的【方法名称】下拉框改为Dbclick。
填写如下代码:
PrivateSubfrmchange_DoubleClick(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.DoubleClick
Me.Height=Me.Height-120
Me.Width=Me.Width-120
EndSub
程序运行后,每单击一次会看到窗体变大,双击一次会看到窗体先变大后又变小,这是因为在双击事件发生之前,先发生了单击事件。
程序中的Me表示窗体自身,Height、Width分别是窗体的属性,单位为像素,Me.Height表示窗体的高度,Me.Width表示窗体的宽度。
说明:
改变对象的属性,就可改变对象的特征,从而完成一定的功能。
对象属性的改变有两种方式:
一种是在设计时进行设置,如本例中设置窗体的标题为“改变大小”;另一种是在运行时进行改变,如本例中单击窗体时实现了尺寸的变化。
当鼠标单击窗体时,实际上是完成了一个动作,又称为发生了一个事件。
【例2-2】图像按钮设计。
步骤:
(1)在窗体上放置一个按钮Button1。
(2)打开Button1的【属性】窗格,选择Image属性,如图2-11所示。
图2-11Button1的【属性】窗格
图2-12图像按钮
(3)在打开Button1的【属性】窗格内,选择BackgroundImage属性,单击右侧的图标按钮,在弹出的【打开】对话框中选择一个位图(扩展名为.bmp)文件后,单击【打开】按钮,即可在按钮Button1加载一幅背景图像。
如图2-12所示。
(4)在Button1的【属性】窗格选择Text属性,并设置属性值为“显示”。
(5)在Button1的【属性】窗格选择Font属性,单击右侧的图标按钮,打开【字体】对话框,选择字体为隶书,大小为3号。
图像按钮如图2-13所示。
图2-13有背影图像的按钮
如果需要清除按钮上的图像,可以打开Button1的【属性】窗格,选择BackgroundImage属性或Image属性,选择属性值栏内左侧的图像小方框,按Delete键即可清除图像。
【例2-3】建立如图2-20所示的窗体。
要求:
程序能对输入的“性别”、“邮政编码”和“电话号码”进行校验(性别只允许输入“男”或“女”,邮政编码必须是6位数字,电话号码必须是8位数字)。
如果输入的数据不符合要求,则清空相应的文本框,并将插入点置于该框中。
所有的校验工作可以在单击“退出”按钮后进行。
此时,程序检查所有文本框,如果有空白或内容错误,要求继续输入,否则结束程序。
图2-20要建立的窗体
分析:
(1)在过程中间要退出过程可使用命令“ExitSub”。
(2)通过函数Len(字符串)可得到字符串的长度。
(3)通过函数IsNumeric(字符串)可检验字符串是否是数值。
步骤:
(1)界面设计:
在窗体上添加5个Label、5个TextBox、1个Button控件。
(2)属性设置如表2-3所示。
表2-3属性设置
属性
属性值
姓名文本框(Name)
txtName
性别文本框(Name)
txtSex
联系地址文本框(Name)
txtPlace
邮政编码文本框(Name)
txtMail
联系电话文本框(Name)
txtCode
退出按钮(Name)
btnExit
(3)代码设计如下:
PrivateSubbtnExit_Click(ByValsenderAsSystem.Object,ByValeAsSystemEventArgs)HandlesButton1.Click
IftxtName.Text=""Then
txtName.Focus()
ExitSub
EndIf
IftxtSex.Text=""Then
txtSex.Focus()
ExitSub
Else
IftxtSex.Text<>"男"AndtxtSex.Text<>"女"Then
txtSex.Text=""
txtSex.Focus()
ExitSub
EndIf
EndIf
IftxtPlace.Text=""Then
txtPlace.Focus()
ExitSub
EndIf
IftxtMail=""Then
txtMail.Focus()
ExitSub
Else
IfLen(txtMail.Text)<>6OrNotIsNumeric(txtMail.Text)Then
txtMail.Text=""
txtMail.Focus()
ExitSub
EndIf
EndIf
IftxtCode.Text=""Then
txtCode.Focus()
ExitSub
Else
IfLen(txtCode.Text)<>8OrNotIsNumeric(txtCode.Text)Then
txtCode.Text=""
txtCode.Focus()
ExitSub
EndIf
EndIf
End
EndSub
(4)程序运行界面如图2-21所示。
图2-21程序运行界面
【例24】设计一个记事本窗体,如图2-24所示。
图2-24引用单选按钮、复选框和GroupBox控件的示例程序界面
要求:
程序运行时,用户可以向记事本文本框中输入数据。
根据需要可以把文本框中选定的数据复制下来,粘贴到历史记录列表框中;可以把列表框中的数据双击粘贴到文本框中,可以选择文本框中字体的颜色、大字或小字、斜体或粗体。
当斜体和粗体功能全部选中时,对文本框中的内容做删除线处理。
步骤:
(1)启动VB.NET,新建一个项目,项目名称为mynotepad。
(2)向窗体中放入3个标签,修改它们的Text属性分别为“我的记事本”、“历史记录”和“字体颜色”。
设置窗体的Text属性值为“记事本”,Name属性值frmNotepad。
(3)在窗体中加入一个TextBox控件,Name属性为txtNote,设置它的MultiLine属性值为True,ScrollBars属性值为Vertical,以允许输入或显示多行内容,并设置垂直滚动条。
(4)在窗体中放入一个ListBox控件,修改它的HorizontalScrollbar属性值为True,即由于列表框的大小有限,列表项中一行的内容显示不了时,可通过移动水平滚动条的滑块看到后面的文本。
(5)在窗体中放入一个ComboBox控件,将该控件的DropDownStyle属性值设为DropDownList,即只能选列表中有的项目,而不能手工添加新的项目。
(6)在窗体中放人两个GroupBox控件,两个控件的Text属性分别设置为“字体大小”和“功能”。
(7)在【字体大小】组框中放人两个RadioButton控件,两个控件的Text属性值分别为“大字”和“小字”。
(8)在【功能】组框中放人两个Button控件,两个控件的Text属性值分别为“复制”和“粘贴”。
(9)在窗体中放人两个CheckBox控件,两个控件的Text属性值分别为“斜体”和“粗体”。
(10)代码设计如下:
PrivateSubRadioButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesRadioButton1.Click
Dimsstr1,sstr2AsString,mysizeAsInteger
Dimmyitalic,myboldAsBoolean
IfRadioButton1.Checked=TrueThen
mysize=15
TextBox1.Font=NewSystem.Drawing.Font("隶书",mysize)
EndIf
EndSub
PrivateSubRadioButton2_Click(ByValsellderAsObject,ByValeAsSystem.EventArgs)HandlesRadioButton2.Click
IfRadioButton2.Checked=TrueThen
mysize=8
TextBox1.Font=NewSystem.Drawing.Font("隶书",mysize)
EndIf
EndSub
PrivateSubForm1_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Load
ComboBox1.Items.Add("red")
ComboBox1.Iterns.Add("blue")
ComboBox1.Iterns.Add("green")
ComboBox1.Items.Add("black")
mysize=8
RadioButton2.Checked=True
RadioButton2.Font=NewSystem.Drawing.Font("隶书",mysize)
mybold=False
myitalic=False
EndSub
PrivateSubComboBox1_SelectedIndexChanged(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesComboBox1.SelectedIndexChanged
SelectCaseComboBox1.SelectedIndex
Case0
TextBox1.ForeColour=System.Drawing.Colour.Red
Case1
TextBox1.ForeColor=System.Drawing.Color.Blue
Caes2
TextBox1.ForeColor=System.Drawing.Color.Green
Case3
TextBox1.ForeColor=System.Drawing.Color.Black
EndSelect
EndSub
PrivateSubButton(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.Click
IfTextBox1.SelectedText<>""Then
sstrl=TextBox1,SelectedText
EndIf
EndSub
PrivateSubButton2_Click(ByValsenderAsObject,ByValeAsSystenl.EventArgs)HandlesButton2.Click
ListBox1.Items.Add(sstr1)
EndSub
PrivateSubListBox1_DoubleClick(ByValsellderAsObject,ByValeAsSystem.EventArgs)HandlesListBox1.DoubleClick
TextBox1.Text=TextBox1.Text+sstr2
EndSub
PrivateSubListBox1_SelectedIndexChanged(ByValsenderAsObject,ByValeAs
System.EventArgs)HandlesListBox1.SelectedIndexChanged
sstr2=ListBox1.SelectedItem
EndSub
PrivateSubCheckBox1_CheckedChanged(ByValsenderAsSystem.Object,ByValeAS
System.EventArgs)HandlesCheckBox1.CheckedChanged
myitalic=Notmyitalic
′TextBox1.Font=NewSystem.Drawing.Font("隶书",mysize,Drawing.FontStyle.Regular)
IfmyitalicAndRadioButton1.CheckedThen
mysize=15
TextBox1.Font=NewSystem.Drawing.Font("隶书",mysize,Drawing.FontStyle.Italic)
ElseIfmyitalicRadioButton1.CheckedThen
mysize=8
TextBox1.Font:
NewSystem.Drawing.Font("隶书",mysize,Drawing.FontStyle,Italic)
Else
TextBox1.Font=NewSystem.Drawing.Font("隶书",mysize,Drawing.FontStyle.Regular)
EndIf
IfmyboldAndmyitalicThen
TextBox1,Font=NewSystemDrawing.Font("隶书",mysize,Drawing.FontStyle,Strikeout)
EndIf
EndSub
PrivateSubCheckBox2_CheckedChanged(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesCheckBox2.CheckedChanged
mybo1d=Notmybold
′TextBox1.Font=NewSystemDrawing.Font("隶书",mysize,Drawling.FontStyle.Regular)
IfmyboldAndRadioButton1.CheckedThen
mysize=15
TextBox1.Font=NewSystem.Drawing.Font("隶书",mysize,Drawing.FontStyle.Bold)
ElseIfmyboldAndRadioButton2.CheckedThen
mysize=8
TextBox1.Font=NewSystem.Drawing.Font("隶书",mysize,Drawing.FontStyle.Bold)
Else
TextBox1.Font=NewSystem.Drawing.Font("隶书",mysize,Drawing.FontStyle.Regular)
EndIf
IfmyitalicAndmyboldThen
TextBox1.Font=NewSystem.Drawing.Font("隶书",mysize,Drawing.FontStyle.Strikeout)
EndIf
EndSub
(11)按【F5】键,编辑并运行记事本程序,运行结果参照图2-24。
【例2-5】测试列表框。
要求:
在窗体Form1上添加一个组框GroupBox1,并在该组框内添加4个单选按钮Rad1,Rad2,Rad3和Rad4分别表示列表框的4种选择方式,以设置列表框的SelectionMode属性;添加另一个组框GroupBox2,并在该组框内添加两个单选按钮Rad5和Rad6,分别表示列表框的显示方式,以设置列表框的MultiColumn属性;添加一个列表框ListBox1;添加一个静态文本标签Label1,用于显示所选列表项的内容。
步骤:
(1)程序代码如下:
当选择【单列显示】单选按钮时,列表框设置为单列显示。
PrivateSubRad5_CheckedChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesRad5.CheckedChanged
IfRad5.Checked=TrueThen
ListBox1.MultiColumn=False
EndIf
EndSub
当选择【多列显示】单选按钮时,列表框设置为多列显示。
PrivateSubRad6_CheckedChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesRad6.CheckedChanged
IfRad6.Checked=TrueThen
ListBox1.MultiColumn=True
EndIf
EndSub
当选择【单选】单选按钮时,列表框就变成了简单多选方式。
其他选择方式与此类似。
PrivateSubRad2_CheckedChanged(ByValsenderAsSyscem.Object,ByValeAsSystem.EventArgs)HandlesRad2.CheckedChanged
IfRad2.Checked=TrueThen
ListBox1.SelectionMode=SelectionMode.One
EndIf
EndSub
当选择列表框中的项时,会在列表框下方的静态文本标签中显示所选项的内容。
PrivateSubListBox1_SelectedIndexChanged(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesListBox1.SelectedIndexChanged
Label1.Text=""
′如果是单选,则使用SelectedItem返回所选项
If(ListBox1.SelectedIndex.Count=1)Then
Label1.Text=ListBox1.SelectedItem.ToString()
EndIf
EndSub
(2)运行结果如图2-27所示。
图2-27列表框
【例2-6】建立应用程序,窗体如图2-32所示。
要求:
(1)单击“添加”按钮可将输入的内容添加到组合框中。
(2)单击“删除”按钮可删除组合框中选定的项目。
(3)单击“统计人数”按钮,可将组合框中的项目总数输出到文本框中。
(4)单击“结束”或按Esc键退出程序。
分析:
(1)可通过属性Items.Count获得组合框的项的数目。
(2)在组合框中如果没有选中任何项,此时SelectedIndex的值为“-1”,实现删除功能时要考虑此特殊情况。
(3)组合框有3种不同风格的样式:
简单组合框、下拉式组合框和下拉式列表框,它们的DropDownStyle属性分别为“Simple”、“DropDown(默认值)”和“DropDownList”,除了DropDownStyle属性为“DropDownList”时不允许在文本框中输入内容外,其他2种都可以。
步骤:
(1)界面设计:
在窗体上添加1个简单组合框、1个文本框、4个命令按钮和1个标签控件。
(2)属性设置如表2-4所示。
表2-4属性设置
对象
属性
属性值
TextBox1
Text;Name
“”;txt1
Label1
Text;Name
请输入姓名;lal1
Button1
Text;Name
添加;btn1
Button2
Text;Name
删除;btn2
Button3
Text;Name
统计人数;btn3
Button4
Text;Name
结束;btn4
ComboBox1
DropDownStyle;Name
Simple;Com1
(3)代码设计如下:
PrivateSubbtn1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn1.Click
Com1Items.Add(Com1.Text)
Com1.Text=""
EndSub
PrivateSubbtn2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn2.Click
IfCom1.SelectedIndex<>-1Then
Com1Items.RemoveAt(Com1.SelectedIndex)
EndIf
EndSub
PrivateSubbtn3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn3.Click
txt1.Text=Com1.Items.Count
EndSub
PrivateSubbtn4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesBtn4Click
EndIf
EndSub
(4)运行界面如图2-33所示
【例2-7】设计一个简易的图片浏览器。
要求:
首先将准备好的若干张图片分别以pictue1.jpg、pictue2.jpg、pictue3.jpg等为文件名存放于某文件夹中,然后按图2-35所示设计程序。
程序启动后显示第1张图片,单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB