Load
1Visual Basic程序
课程简介
2最简单的应用程序
4窗体
6使用文本框和标签框输入输出文字信息
18命令按钮、选择框、单选钮和框架
28列表框、组合框和滚动条
40对话框
62图片框、图像框和计时器
73菜单设计
84文件系统控件
Visual Basic程序设计课程简介
(40学时,周4学时)
Visual Basic语言简要介绍
· BASIC语言是最容易掌握的计算机语言
实践证明:BASIC最容易学习;BASIC在不断发展;BASIC拥有最广大的学习者;BASIC具有强大的生命力;BASIC在普及计算机中立下汗马功劳。我们应当充分利用BASIC的优势,大力推广计算机的普及和应用。这里可能明白地告诉读者:
(1)VB 6.0是当今全球最畅销的编程语言
(2)VB6.0为软件开发者提供当今最受青睐的开发环境。
(3)VB 6.0是最简单易学的可视化编程语言,且博大精深。
目前全国计算机等级考试已把Visual Basic列入报考内容。
· VB提供可视化的编程工具
· 面向对象编程
· 程序采取“事件驱动”方式
Visual Basic 6.0语言功能非常强大,可以这样回答大家,没有Visual Basic 6.0语言设计不了的软件程序,以下是几个软件运行实例:
方波与其傅里叶级数(截取有限项)的波形及频谱
方波与其傅里叶级数(截取有限项)之差的波形 不对称三相
中点位移现象CAI课件
参考教材:1、Visual Basic程序设计 主编 谭浩强,清华大学出版社,定价:23元
2、Visual Basic程序设计实用教程 王栋编著,清华大学出版社,定价:32元
3、Visual Basic6.0中文版编程方法详解 李鸿吉编著,科学出版社,定价:75元
最简单的应用程序
例1、设计一个程序,在运行时若用鼠标单击窗体,在窗体上会显示出“Visual Basic 欢迎您!”一行文字,运行结果如图所示
1)用户界面设计
2)程序代码编写
目要求在运行时若单击窗体就应显示一行字符,所以我们这样做
(1)在对象框中选择Form(窗体);
(2)在过程框中选择单击事件(Click)。当选择了对象和事件后,在代码窗口立即自动出现相应的Form_Click()过程框架;
Private Sub Form_Click() /单击窗体
End Sub
这样就可以在Private Sub Form_Click()与End Sub两行之间输入程序语句了。现在我们输入以下语句
Print "Visual Basic 欢迎您!"
我们现在已经编写出了一个窗体单击事件的响应过程,也就是说,在运行程序时,若用户单击窗体时,发生了单击事件,系统就会执行下面的过程:
Private Sub Form_Click()
Print "Visual Basic 欢迎您!"
End Sub
例2、修改例1、窗体上添加两个命令按钮,一个是“显示” ,一个是“退出”。程序开始运行后,用户单击“显示”命令按钮,就会在窗体上输出一行文字。单击“退出” 命令按钮,则结束程序运行。
1)用户界面设计
2)属性设置表
3)程序代码编写
Private Sub CmdDisplay_Click()
Print "Visual Basic 欢迎您!"
End Sub
Private Sub CmdExit_Click()
End
End Sub
窗体
窗体上的三个按钮
窗体最小化;窗体最大化;关闭窗体。
一、窗体设计举例
例1、设计一个程序,在窗体上画三个命令按钮,程序进入运行状态后,在窗体上装入一幅图片,当单击“窗体变大”按钮,窗体就变大,单击“窗体变小”按钮,窗体就变小。单击“关闭窗体”按钮,则退出。如图所示。
例2、设计一个程序,当单击“改变位置”命令按钮时,使窗体的位置改变互屏幕的左上角,单击“还原”命令按钮又使它的位置还原,并在标签中显示出所在位置。用户界面如图。
二、多窗体
1、建立多个窗体
例3、设计一个程序,程序中包括两个窗体,第一个窗体中先画一个标签框,内写“动物之家”,用户界面设计如图。运行时,向该窗体装入一个图片,单击该窗体,显示第二个窗体,如图所示。
2、设置启动窗体
三、属性、事件、方法的概念
1、属性(Property)
属性设置的两种方法
设计阶段和运行阶段
2、事件(Event)
3、方法(Method)
方法与属性区别
对象名.属性名=
对象名.方法名
四、窗体的属性
· ControlBox属性:控制“关闭窗体”
· DrawStyle属性:设置线条类型
· DrawWidth属性:设置线条宽度
· Enabled属性:是否响应鼠标或键盘事件
· FillColor属性:设置图形填充颜色
· FillStyle属性:设置图形填充方式
· MaxButton和MinButton属性:是否显示“最大化”和“最小化”按钮
· Visible属性:设置窗体是否可见
五、窗体所能识别的事件
1、鼠标事件:鼠标移动(Mouse Move)、按下鼠标(Mouse Down)、释放鼠标(Mouse Up)、单击(Click)、双击(Double Click)
例4、设计一个程序,在窗体上添加四个图像框,当用户在窗体上移动鼠标,四个图像框文件的图形就会装入图像框。如图。
2、键盘事件
Key Down事件、Key Up事件、Key Press事件
3、其它事件
Unload事件
六、窗体可使用的方法
Cls方法、Move方法、Print方法
使用文本框和标签框输入输出文字信息
一、使用文本框处理字符信息
1、文本框的简单使用
例1 设计一个程序,由用户从键盘上输入两个数,然后求这两个数的和,并将结果显示出来。如图所示。
1)用户界面设计
2)属性设置表
对象
属性
设置
窗体
Caption
文本框使用例1
(名称)
FrmExample1
文本框1(放被加数)
(名称)
txtOp1
Text
?
文本框2(放“+”号)
(名称)
txtOp2
Text
+
TabStop
False
文本框3(放加数)
(名称)
txtOp3
Text
?
文本框4(放“=”号)
(名称)
txtOp4
Text
=
文本框5(放结果)
(名称)
txtResult
Text
?
命令按钮1
Caption
加法运算
(名称)
cmdAdd
命令按钮2
Caption
清除
(名称)
cmdClear
命令按钮3
Caption
退出
(名称)
cmdExit
3)程序代码编写
⑴“加法运算”命令按钮的事件过程
Private Sub CmdAdd_Click()
op1 = Val(txtOp1.Text)
op2 = Val(txtOp3.Text)
Sum = op1 + op2
txtResult.Text = Str$(Sum)
End Sub
⑵“清除”命令按钮的事件过程
Private Sub CmdClear_Click()
txtOp1 = ""
txtOp2 = ""
txtResult.Text = ""
End Sub
⑶“退出”命令按钮的事件过程
Private Sub CmdExit_Click()
End
End Sub
对象名称前缀
对象
前缀
举例
Form(窗体)
Fr m
frmDemo
CheckBox(选择框)
chk
chkInput
ComboBox(组合框)
cbo
cboInfo
CommandButton(命令按钮)
cmd
cmdStart
DirectoryListBox(目录列表框)
dir
dirList
DriveListBox(驱动器列表框)
drv
drvDisplay
FileListBox(文件列表框)
fil
filTarget
Frame(框架)
fra
fraFont
HscrollBar(水平滚动条)
hsb
hsbRate
Image(图像框)
img
imgSun
Label(标签框)
lbl
lblMessage
Line(画线控件)
lin
linHorizontal
ListBox(列表框)
lst
lstName
Menu(菜单)
mnu
mnuDatabase
OptionButton(单选钮)
opt
optEnglist
OLEClient(OLE客户控件)
ole
oleObject
PictureBox(图片框)
pic
picSource
Shape(形状控件)
shp
shpSquare
TextBox(文本控件)
txt
txtGetString
Timer(计时器)
tmr
tmrClock
VscrollBar(垂直滚动条)
vsb
vsbYear
设置焦点
⑴用SetFocus方法设置焦点
⑵用TabIndex属性来控制当用户按下Tab键时焦点的转移顺序
⑶可以用TabStop属性来使某个控件“轮空”
⑷可以改变TabIndex属性值,以改变按Tab键时焦点变化的顺序
⑸如果焦点在命令按钮上,则可以用按“回车”键代替用鼠标单击该命令按钮。
例2 修改例1,使其能够作加、减、乘、除运算,用户界面修改如图所示
1)用户界面设计
2)属性设置表
对象
属性
设置
窗体
Caption
文本框使用例2
(名称)
FrmExample2
文本框1
(名称)
txtOp1
Text
?
文本框2
(名称)
txtOp2
Text
运算符
TabStop
True
文本框3
(名称)
txtOp3
Text
?
文本框4
(名称)
txtOp4
Text
=
TabStop
False
文本框5
(名称)
txtResult
Text
?
命令按钮1
Caption
运算
(名称)
cmdOperat
命令按钮2
Caption
清除
(名称)
cmdClear
命令按钮3
Caption
退出
(名称)
cmdExit
3)程序代码编写
⑴“运算”命令按钮的事件过程
Private Sub CmdOperat_Click()
op1 = Val(txtOp1.Text)
op2 = Val(txtOp3.Text)
Select Case txtOp2.Text
Case "+"
result = op1 + op2
txtResult.Text = Str$(result)
Case "-"
result = op1 - op2
txtResult.Text = Str$(result)
Case "*"
result = op1 * op2
txtResult.Text = Str$(result)
Case "/"
result = op1 / op2
txtResult.Text = Str$(result)
Case Else
Print "运算符错"
txtResult.Text = ""
End Select
End Sub
⑵“清除”命令按钮的事件过程
Private Sub CmdClear_Click()
txtOp1 = ""
txtOp2 = ""
txtOp3 = ""
txtResult.Text = ""
txtOp1.SetFocus
End Sub
⑶“退出”命令按钮的事件过程
Private Sub CmdExit_Click()
End
End Sub
--------------------------------------------------------------
2、文本框的属性、事件和方法
1)、利用Change事件
例3 在窗体上画出3个文本框和两个命令按钮,当程序运行时,用户在第一个文本框内输入一行文字时,在另一个文本框中同时显示出相同的内容,但显示的字号不同。要求输入的字符数不超过20。
1)用户界面设计
2)属性设置表
对象
属性
设置
窗体
Caption
文本框使用例3
(名称)
FrmExample3
文本框1
(名称)
txtShow1
Text
空
MaxLength
20
文本框2
(名称)
txtShow2
Text
空
文本框3
(名称)
txtShow3
Text
空
命令按钮1
Caption
清除文本框
(名称)
cmdClear
命令按钮2
Caption
退出
(名称)
cmdExit
3)程序代码编写
⑴ Change事件过程代码
Private Sub txtShow1_Change()
txtShow2.Text = txtShow1.Text
txtShow3.Text = txtShow1.Text
txtShow2.FontSize = 18
txtShow3.FontSize = 24
End Sub
⑵ 单击清除文本框命令按钮过程代码
Private Sub CmdClear_Click()
txtShow2.Text = ""
txtShow1.Text = ""
txtShow3.Text = ""
End Sub
⑶ 单击退出命令按钮过程代码
Private Sub CmdExit_Click()
End
End Sub
2)、设置密码
例4 设置密码。程序设计者事先设定一个密码为“PassWord”。要求用户在一个文本框输入密码,然后单击“校验密码”命令按钮,程序将核对用户输入的密码与事先设定密码是否一致。如果一致,则继续执行其他程序,若不一致输出警告信息。用户界面如图。
1)用户界面设计
2)属性设置表
对象
属性
设置
窗体
Caption
文本框使用例4
(名称)
FrmExample4
文本框1
(名称)
txtPW
Text
空
PassWordChar
*
文本框2
(名称)
txtShow
Text
空
命令按钮1
Caption
校验密码
(名称)
cmdCheck
命令按钮2
Caption
清除
(名称)
cmdClear
命令按钮3
Caption
退出
(名称)
cmdExit
3)程序代码编写
⑴ 单击校验密码命令按钮事件过程
Private Sub CmdCheck_Click()
pass$ = txtPW.Text
If pass$ = "PassWord" Then
txtShow.Text = "密码正确,继续进行"
Else
txtShow.Text = "密码错,重新输入"
End If
End Sub
⑵ 单击清除命令按钮事件过程
Private Sub CmdClear_Click()
txtPW.Text = ""
txtShow.Text = ""
txtPW.SetFocus
End Sub
⑶ 单击退出命令按钮过程代码
Private Sub CmdExit_Click()
End
End Sub
--------------------------------------------------------
3)、多行文本框
例5 设计一个程序,用户界面由一个文本框和一个命令按钮组成,在程序中输入一段文字,当单击命令按钮时,在文本框中将这一段文字显示出来。界面如图。
1)用户界面设计
2)属性设置表
对象
属性
设置
窗体
Caption
文本框使用例5
(名称)
FrmExample5
文本框1
(名称)
txtMultiline
Multiline
Ture
Text
空
FontName
隶书
命令按钮1
Caption
显示文本
(名称)
cmdShow
命令按钮2
Caption
退出
(名称)
cmdExit
3)程序代码编写
⑴ 单击显示文本命令按钮事件过程
Private Sub CmdShow_Click()
txtMultiline.Text = "VB工具框 1.指针工具 2.图片框工具 3.标签框工具 4.文本框工具 5.框架工具 6.命令按钮工具"
End Sub
⑵ 单击退出命令按钮过程代码
Private Sub CmdExit_Click()
End
End Sub
4)、如何保证输入数据的正确性
例6 设计一个程序,运行程序时,要求用户在文本框中输入大写英文字母。如用户输入大写英文字符,窗体上显示出“输入正确!”;当输入非大写英文字符时,窗体上显示出“输入有错误,请使用大写字母!”
1)用户界面设计
2)属性设置表
略
3)程序代码编写
Private Sub txtCheck_KeyPress(KeyAscii As Integer)
If KeyAscii < 65 Or KeyAscii > 90 Then
Print "输入有错误,请使用大写字母!"
Else
Print "输入正确!"
End If
End Sub
Private Sub CmdClear_Click()
Cls
txtCheck.Text = ""
End Sub
Private Sub CmdExit_Click()
End
End Sub
---------
3、字体与字号的控制
例7 设计一个程序,在三个文本框中分别显示出隶书、宋体和幼圆等字体。
1)用户界面设计
2)属性设置表
略
3)程序代码编写
Private Sub Form_Click()
'定义文本框Text1的字体为"隶书"
Text1.FontSize = 40
Text1.FontName = "隶书"
Text1.Text = "隶书"
'定义文本框Text2的字体为"宋体"
Text2.FontSize = 30
Text2.FontName = "宋体"
Text2.FontItalic = True
Text2.FontUnderline = True
Text2.Text = "宋体"
'定义文本框Text3的字体为"幼圆"
Text3.FontSize = 20
Text3.FontName = "幼圆"
Text3.FontBold = True
Text3.Text = "幼圆"
End Sub
Private Sub CmdExit_Click()
End
End Sub
4、文本框常用的属性:
Text,TabStop,TabIndex,PassWordChar,Multiline,MaxLength,ScrollBars等等
5、文本框所能识别的事件:
Click,Double Click,Change ,GotFocus,LostFocus,KeyPress,Mouse Down,Mouse Up,Mouse Move等等
二、使用标签框控件显示字符信息
标签框的常用属性
· Alignment属性:用于指定在标签框上显示信息的位置(0-L,1-R,2-C)
· AutoSize属性:设置标签框大小是否自动按标签框内容调整
· BorderStyle属性:用于设置标签框有无边框
· Caotion属性:用于设置标签框中所要显示的内容
· Left属性:用于设置标签框与窗体左边界之间的距离
· 名称属性:用于设置标签框的名字
· Top属性:用于设置标签框与窗体上边界之间的距离
· WordWrap属性:用于设置标签框中所要显示的内容是否能够自动折行
例8 修改例1,使用标签为每个文本框加上说明,这样可以使各个文本框的作用一目了然。
1)用户界面设计
2)属性设置表
对象
属性
设置
窗体
Caption
标签使用
文本框1
(名称)
txtOp1
Text
?
标签框1
Caption
被加数
(名称)
Label1
BorderStyle
0
文本框2
(名称)
txtOp2
Text
?
标签框2
Caption
加数
(名称)
Label2
BorderStyle
0
标签框3
Caption
+
(名称)
Label3
BorderStyle
0
标签框4
Caption
结果
(名称)
Label4
BorderStyle
0
标签框5
Caption
?
(名称)
lblResult
BorderStyle
1
命令按钮1
Caption
=
(名称)
cmdAdd
命令按钮2
Caption
清除
(名称)
cmdClear
命令按钮3
Caption
退出
(名称)
cmdExit
3)程序代码编写
Private Sub CmdAdd_Click()
op1 = Val(txtOp1.Text)
op2 = Val(txtOp2.Text)
Sum = op1 + op2
LblResult.Caption = Str$(Sum)
End Sub
Private Sub CmdClear_Click()
txtOp1 = ""
txtOp2 = ""
LblResult.Caption = ""
txtOp1.SetFocus
End Sub
Private Sub CmdExit_Click()
End
End Sub
命令按钮、选择框、单选钮和框架
一、命令按钮
1、使用Enabled属性
用来控制对象是否可用。可以在设计阶段,也可以在程序运行阶段设置,默认值为Ture“可用”。
例1、设计一个程序,拟在窗体上装入一个图片,在图片上画三个标签框。窗体还有三个命令按钮。当单击命令按钮“显示文本1”后,在图片上显示出一些文字,同时此命令按钮变成浅灰色,表示“失效”。若按“显示文本2”命令按钮,则图片上换成另一段文字,此时“显示文本2”命令按钮失去作用,而“显示文本1”按钮恢复原状,可以使用。
1)用户界面设计
2)属性设置表
对象
属性
设置
窗体
Caption
使用命令按钮的Enabled属性
(名称)
Form1
picture
(图片)
命令按钮1
Caption
显示文本1
(名称)
CmdShow1
命令按钮2
Caption
显示文本2
(名称)
CmdShow2
命令按钮3
Caption
退出
(名称)
cmdExit
标签框1
Caption
空
(名称)
Lbl1
标签框2
Caption
空
(名称)
Lbl2
标签框3
Caption
空
(名称)
Lbl3
3)程序代码编写
⑴ 单击命令按钮“显示文本1”过程代码
Private Sub CmdShow1_Click()
CmdShow1.Enabled = False
CmdShow2.Enabled = True
Lbl1.Caption = "欢迎你"
Lbl2.Caption = "使用"
Lbl3.Caption = ""
End Sub
⑵ 单击命令按钮“显示文本2”过程代码
Private Sub CmdShow2_Click()
CmdShow1.Enabled = True
CmdShow2.Enabled = False
Lbl1.Caption = ""
Lbl2.Caption = ""
Lbl3.Caption = "Visual Basic"
End Sub
⑶
Private Sub CmdExit_Click()
End
End Sub
2、使用Visible属性
用来控制对象是否可见。见例2
3、使用Default属性和Cancel属性
用Default属性使命令按钮为缺省的“活动按钮”,用Cancel属性使命令按钮为“取消按钮”。
例2 设计一个程序,窗体中有两个命令按钮和三个标签框。程序运行后若单击“确定(OK)”,则“确定”命令按钮和最上面一个标签框成为不可见的,同时在另外两个标签框上显示出当前日期和时间,单击“撤消(Esc)”命令按钮就结束程序运行。
1)用户界面设计
2)属性设置表
对象
属性
设置
窗体
Caption
使用命令按钮的Default属性和Cancel属性
(名称)
Form1
命令按钮1
Caption
确定(&OK)
(名称)
CmdOK
Default
Ture
命令按钮2
Caption
撤消(&Esc)
(名称)
CmdCancel
Cancel
Ture
标签框1
Caption
显示今天的日期和时间
(名称)
LblTitle
标签框2
Caption
空
(名称)
LblDate
标签框3
Caption
空
(名称)
LblTime
3)程序代码编写
⑴ 单击“确定(OK)”事件过程代码
Private Sub CmdOK_Click()
CmdOK.Visible = False
LblTitle.Visible = False
LblDate.Caption = "日期:" + Date$
LblTime.Caption = "时间:" + Time$
End Sub
⑵ 单击“撤消(Esc)”事件过程代码
Private Sub CmdCancel_Click()
End
End Sub
--------------------------------------
二、选择框
例3 设计一个程序,用户界面设计如图,由一个标签框、一个文本框、四个选择框组成。程序运行后,用户在文本框中输入一段文字,然后按需要单击各选择框,用以改变文本的字体、字型、颜色以及大小。
1)用户界面设计
2)属性设置表
对象
属性
设置
窗体
Caption
选择框的使用
(名称)
FrmCheck
标签框
Caption
请在下面输入一段文字:
(名称)
Label1
文本框
Text
(名称)
txtPassage
Multiline
Ture
选择框1
Caption
宋体
(名称)
chkFont
选择框2
Caption
斜体
(名称)
chkItalic
选择框3
Caption
16点
(名称)
chkSize
选择框4
Caption
紫色
(名称)
chkCol
3)程序代码编写
⑴ 单击宋体选择框事件过程
Private Sub chkFont_Click()
If chkFont.Value = 1 Then
txtPassage.FontName = "宋体"
Else
txtPassage.FontName = "幼圆"
End If
End Sub
⑵ 单击斜体选择框事件过程
Private Sub chkItalic_Click()
If chkItalic.Value = 1 Then
txtPassage.FontItalic = -1
Else
txtPassage.FontItalic = 0
End If
End Sub
⑶ 单击16点选择框事件过程
Private Sub chkSize_Click()
If chkSize.Value = 1 Then
txtPassage.FontSize = 16
Else
txtPassage.FontSize = 8
End If
End Sub
⑷ 单击紫色选择框事件过程
Private Sub chkCol_Click()
If chkCol.Value = 1 Then
txtPassage.ForeColor = QBColor(13)
Else
txtPassage.ForeColor = QBColor(0)
End If
End Sub
选择框的其它属性
· Alignment属性:用来设置选择框在文字的左侧(0)还是右侧(1)
· Style属性:用来设置选择框的外观。Style=0是
外观;Style=1类似于命令按钮。
Private Sub Check1_Click()
If Check1.Value = 1 Then
MsgBox "选择框1被按下"
Else
MsgBox "选择框1被释放"
End If
End Sub
三、单选框
例4 设计一个程序,用户界面由四个单选钮、一个标签和一个命令按钮组成,程序运行后,用户单击某个单选钮,就可将它对应的内容(星期、日期、月份、或年份)显示在标签框中,如图
1)用户界面设计
2)属性设置表
对象
属性
设置
窗体
Caption
单选钮的使用
(名称)
Form1
标签框
Caption
空
(名称)
Label1
单选钮1
Caption
星期
(名称)
optWeek
单选钮2
Caption
日期
(名称)
optDay
单选钮3
Caption
月份
(名称)
optMonth
单选钮4
Caption
年份
(名称)
optYear
命令按钮
Caption
结束
(名称)
cmdExit
3)程序代码编写
⑴ 单击星期单选钮事件过程
Private Sub optWeek_Click()
W$ = Weekday(Now)
Label1.Caption = "今天是星期" + W$
End Sub
⑵ 单击日期单选钮事件过程
Private Sub optDay_Click()
D$ = Day(Now)
Label1.Caption = "今天是" + D$ + "号"
End Sub
⑶ 单击月份单选钮事件过程
Private Sub optMonth_Click()
M$ = Month(Now)
Label1.Caption = "这月是" + M$ + "月份"
End Sub
⑷ 单击年份单选钮事件过程
Private Sub optYear_Click()
Y$ = Year(Now)
Label1.Caption = "今年是" + Y$ + "年"
End Sub
⑸ 单击结束命令按钮事件过程
Private Sub Command1_Click()
End
End Sub
Style属性:用来设置单选钮的外观。Style=0是标准外观;Style=1类似于命令按钮。
四、框架
例5 设计一个程序,用户界面上部有一个标签框,下部有两个命令按钮,中间是三个框架和九个单选钮。在每个框架中放三个单选钮,即将九个单选钮分成三组,一组用来改变字体,一组用来改变字的大小,一组用来改变颜色。程序运行后,单击“显示”按钮,文本框中显示一行文字,其字体、字号、和颜色由程序事先设定。用户可以在三个框架中分别选择字体、字号、和颜色,然后再按“显示”按钮,此时标签框中的文字的字体、字号、和颜色会发生变化。
1)用户界面设计
2)属性设置表
对象
属性
设置
窗体
Caption
Form1
(名称)
Form1
标签框
Caption
空
(名称)
Label1
框架1
Caption
字体
(名称)
FraFont
框架2
Caption
大小
(名称)
FraSize
框架3
Caption
颜色
(名称)
FraColor
单选钮1
Caption
宋体
(名称)
optFont1
单选钮2
Caption
隶书
(名称)
optFont2
单选钮3
Caption
幼圆
(名称)
optFont3
单选钮4
Caption
14点
(名称)
optSize1
单选钮5
Caption
18点
(名称)
optSize2
单选钮6
Caption
22点
(名称)
optSize3
单选钮7
Caption
蓝色
(名称)
optColor1
单选钮8
Caption
紫色
(名称)
optColor2
单选钮9
Caption
绿色
(名称)
optColor3
命令按钮1
Caption
显示
(名称)
cmdShow
命令按钮2
Caption
结束
(名称)
cmdExit
3)程序代码编写
⑴ Form_Load()事件过程
Private Sub Form_Load()
'设置初始值
OptFont1.Value = True '设置字体为宋体
OptSize1.Value = True '设置字体大小为14点
OptColor1.Value = True '设置字体颜色蓝色
'显示文本
Label1.Caption = "欢迎你使用Visual Basic"
End Sub
⑵ 单击“显示”命令按钮
Private Sub cmdShow_Click()
'确定字体
If OptFont1.Value Then Label1.FontName = "宋体"
If OptFont2.Value Then Label1.FontName = "隶书"
If OptFont3.Value Then Label1.FontName = "幼圆"
'确定字体大小
If OptSize1.Value Then Label1.FontSize = 14
If OptSize2.Value Then Label1.FontSize = 18
If OptSize3.Value Then Label1.FontSize = 22
'确定字体颜色
If OptColor1.Value Then Label1.ForeColor = QBColor(9)
If OptColor2.Value Then Label1.ForeColor = QBColor(13)
If OptColor3.Value Then Label1.ForeColor = QBColor(10)
'显示文本
Label1.Caption = "欢迎你使用Visual Basic"
End Sub
⑶ 单击“结束”命令按钮
Private Sub cmdExit_Click()
End
End Sub
习题
设计一个程序,窗体上有两个命令按钮“显示”和“退出”。单击“显示”按钮时,窗体上显示一个图片,同时将两个命令按钮隐藏。单击有图片的窗体时,恢复。单击“退出”按钮,结束程序的运行。
设窗体中包含一组单选钮、一组选择框。单选钮包括普通、粗体、斜体和粗斜体四种字形。选择框提供对删除线和下划线的修饰效果的选择。文本框中输入文字后单击某个按钮.文本框中的文字将按所选择的选项进行设置,窗体如图。
列表框、组合框和滚动条
一、列表框
1、向列表框中添加一个项
在一个列表框中可以包括许多项(item)。这些项的内容既可以在设计时直接写入,也可以在程序运行时加入。但从实际情况考虑往往是通过程序来添加项的内容、我们通过例题说明如何使用Additem方法向列表框中添加项。
例1 设计一个程序查询飞往各城市的航班时间。其功能是在程序运行后,用户从列表框中选择一个城市名,然后单击命令按钮,显示出航班的起飞时间。
先设计窗体。窗体中包含一个列表框、一个命令按钮,两个无边界的标签框,用于显示提示文本“请选择目的地”和“航班信息”;以及一个有边界的标签框,用来显示航班信息。
1)用户界面设计
2)属性设置表
对象
属性
设置
窗体
Caption
航班的查询
(名称)
Form1
列表框
(名称)
LstPlace
命令按钮
Caption
结束
(名称)
CmdExit
标签框1
Caption
请选择目的地
(名称)
Label1
标签框2
Caption
航班信息
(名称)
Label2
标签框3
Caption
空
(名称)
Label3
3)程序代码编写
⑴ Form_Load()事件过程代码
Private Sub Form_Load()
LstPlace.AddItem "上海"
LstPlace.AddItem "大连"
LstPlace.AddItem "广州"
LstPlace.AddItem "深圳"
LstPlace.AddItem "重庆"
LstPlace.AddItem "厦门"
LstPlace.AddItem "新疆"
LstPlace.AddItem "拉萨"
End Sub
⑵ LstPlace_Click()事件过程代码
Private Sub LstPlace_Click()
ch$ = "北京--"
Select Case LstPlace.ListIndex
Case 0
ch1$ = "星期五 15:00 起飞"
Label3.Caption = ch$ + LstPlace.Text + ch1$ '显示上海航班信息
Case 1
ch1$ = "星期一 09:00 起飞"
Label3.Caption = ch$ + LstPlace.Text + ch1$ '显示大连航班信息
Case 2
ch1$ = "星期六 22:20 起飞"
Label3.Caption = ch$ + LstPlace.Text + ch1$ '显示广州航班信息
Case 3
ch1$ = "星期三 11:00 起飞"
Label3.Caption = ch$ + LstPlace.Text + ch1$ '显示深圳航班信息
Case 4
ch1$ = "星期四 17:00 起飞"
Label3.Caption = ch$ + LstPlace.Text + ch1$ '显示重庆航班信息
Case 5
ch1$ = "星期二 23:15 起飞"
Label3.Caption = ch$ + LstPlace.Text + ch1$ '显示厦门航班信息
Case 6
ch1$ = "星期日 08:30 起飞"
Label3.Caption = ch$ + LstPlace.Text + ch1$ '显示新疆航班信息
Case 7
ch1$ = "星期三 11:40 起飞"
Label3.Caption = ch$ + LstPlace.Text + ch1$ '显示拉萨航班信息
End Select
End Sub
⑶ Command1_Click()事件过程代码
Private Sub Command1_Click()
End
End Sub
2、从列表框中删除一个项
RemoveItem方法能够从列表框中删除某一项。其一般
如下:
<对象>.RemoveItem<索引号>
例2 从例6.1的列表框LstPlace中删除一个项。
我们可以使用如下语句
LstPlace. RemoveItem l
当执行这个命令后,将列表框LstPlase中序号为1(即大连)的项删除。可以编一个单击命令按钮的事件过程。其中包括以上语旬。当程序运行时单击该命令按钮,就会将列表框中的大连项删去。但是,需要注意的是:后面各个地名的序号都会自动减l,如广州原序号为2,将改为1。深圳由3改为2,……。
3、列表框的常用属性
1) Columns属性:指定列表框中可见列数。缺省值为0,这时列表框中不允许显示多列。当Columns值大于或等于1时列表框中能显示多列。
2) List属性:List属性既可以在设计时指定也可以由程序语句设置。 List属性是字符串数组。每个数组元素都是列表框中的一个列表项。使用List属性能够方便地访问列表框中的项。例如,有如下语句:Rec1=ListBox1. List(2)
3) ListCount属性:经常与List属性一起使用的是ListCount属性。ListCount属性表示列表框中有多少个列表项。
4) ListIndex属性:属性不能在设计时设置,只有程序运行时才起作用。
5) MultiSelect属性:在前面的例题中,我们只在列表框选择了一个项。实际上,允许用户列表框中选择一项或多项。MultiSelect属性确定了列表框中是否允许选择多项。MultiSelect=0表示一次只能选择一项,不能在列表框中进行多项选择。MultiSelect=1表示允许选择列表框中多个项,每用鼠标单击一个项,则该项被选中。MultiSelect=2表示可以选择列表框中某个范围内的项,即可以用Shift+单击鼠标选择一组连续排列的项或用Ctrl+单击鼠标选择一组不连续排列的项。
6) Selected属性:Selected()属性表示列表框中各个列表项是否被选中。Selected()属性是一个数组,其数组元素的个数与列表框的项数相同,例加: List1. Selected(1)=True 表明列表框控件的第2个元素(数组下标为1)被选中。若Selected()属性值为False.则相应的列表项未被选中.我们通过例题说明Selected()、ListCount、MultiSelect等属性的使用。
例3 窗体有两个列表框,两个命令按钮。一个列表框显示系统提供的屏幕字体。用户可以用鼠标在“可选的屏幕字体”列表框中选择一个或多个字体名。然后,单击“显示”命令按钮时,在另一个列表框显示用户所选中的列表项。
1)用户界面设计
2)属性设置表
对象
属性
设置
窗体
Caption
Form1
(名称)
FrmListAtt
列表框1
(名称)
LstFont
MultiSelect
2
列表框2
(名称)
LstSelect
命令按钮1
Caption
显示
(名称)
CmdDisplay
命令按钮2
Caption
结束
(名称)
CmdExit
标签框1
Caption
可选的屏幕字体
(名称)
Label1
标签框2
Caption
被选中的字体
(名称)
Label2
3)程序代码编写
⑴ Form_Load()事件过程代码
Private Sub Form_Load()
'用屏幕字体名称填充列表框。
For i = 0 To Screen.FontCount - 1
LstFont.AddItem Screen.Fonts(i)
Next i
End Sub
⑵ CmdDisplay_Click()事件过程代码
Private Sub CmdDisplay_Click()
'清除列表中所有的项
LstSelect.Clear
'如果某一项被选中,则将它加入到LstSelect
For i = 0 To LstFont.ListCount - 1
If LstFont.Selected(i) Then
LstSelect.AddItem LstFont.List(i)
End If
Next i
End Sub
⑶ CmdExit_Click()事件过程代码
Private Sub CmdExit_Click()
End
End Sub
7) Sorted属性:列表框中的项如按照其加入到列表框中的先后次序排列,则将Sorted属性设为False,即列表框显示项不排序;若想使其按字母序排列,应将Sorted属性设为True。
8) Text属性:返回最后一次选中的正文。
9) Style属性:Style=1列表框中的每个选项前面有一个选择框。
4、列表框的常用事件和方法
二、组合框
组合框实际上是将列表框和文本框的功能综合而成的,既可以像列表框一样让用户选择其中的项,又能像文本框一样,由用户输入自己指定的内容。
Style=0
Style=1
Style=2
组合框的三种形式:Style=0下拉式组合框;Style=1简单组合框;Style=2下拉式列