第07章 Visual Basic的标准控件.docx
《第07章 Visual Basic的标准控件.docx》由会员分享,可在线阅读,更多相关《第07章 Visual Basic的标准控件.docx(19页珍藏版)》请在冰豆网上搜索。
第07章VisualBasic的标准控件
第7章VisualBasic的标准控件
7.1选择控件
7.1.1单选按钮
组成选项组
打开一个,关闭其余
用框架分组
1.属性
属性
含义
Name
名称
Caption
标题
Alignment
0或vbLeftJustify,控件左,标题右
1或vbRightJustify,控件右,标题左
Value
True被选中,False未被选中
Style
0或vbButtonStandard,标准样式
1或vbButtonGraphical,图形样式
2.事件
常用事件为Click
例7.1控制命令按钮字体大小
窗体、1个命令按钮、4个单选按钮(其中两个图形样式)
单选按钮Click事件代码:
PrivateSubOption1_Click()
Command1.FontSize=12
EndSub
PrivateSubOption2_Click()
Command1.FontSize=16
EndSub
PrivateSubOption3_Click()
Command1.FontSize=18
EndSub
PrivateSubOption4_Click()
Command1.FontSize=20
EndSub
7.1.2复选框
可在一组复选框中选择一个或多个
Value属性:
0未被选中,1被选中,2被禁用
Click事件改变状态
例7.2控制文本的显示方式
控件及属性设置:
控件
Name
Caption
Alignment
Value
Style
文本框
Text1
无
2
无
无
复选框
Check1
粗体字
1
True
0
复选框
Check2
斜体字
0
False
0
复选框
Check3
0
False
1
复选框
Check4
删除线
0
False
1
Text1的MultiLine属性设置为True
Check3控件的Picture属性引用“下划线”图片
编写如下事件过程:
PrivateSubForm_Load()
Text1.FontName="宋体"
Text1.Text="离离原上草,"+Chr(13)+Chr(10)+"一岁一枯荣。
"+_
Chr(13)+Chr(10)+"野火烧不尽,"+Chr(13)+Chr(10)+"春风吹又生。
"
EndSub
PrivateSubCheck1_Click()
IfCheck1.Value=1Then
Text1.FontBold=True
Else
Text1.FontBold=False
EndIf
EndSub
PrivateSubCheck2_Click()
IfCheck2.Value=1Then
Text1.FontItalic=True
Else
Text1.FontItalic=False
EndIf
EndSub
PrivateSubCheck3_Click()
IfCheck3.Value=1Then
Text1.FontUnderline=True
Else
Text1.FontUnderline=False
EndIf
EndSub
PrivateSubCheck4_Click()
IfCheck4.Value=1Then
Text1.FontStrikethru=True
Else
Text1.FontStrikethru=False
EndIf
EndSub
7.1.3列表框
提供列表式的数据供用户选择
1.属性
属性
含义
Name
名称
Columns
列表框的列数(0单列,1多列)
List
列表项数组,可通过下标(从0开始)访问
ListCount
列表项目的数量
ListIndex
已选中项目在列表框中的索引值(从0开始)
MultiSelect
用来设置一次可以选择的项目数
0只能选择一项
1可以选择多项
2可以选择指定范围内的表项
Selected
Boolean数组
元素值为True被选中、False未被选中
SelCount
列表框中所选项目的数量
Sorted
列表框中的项目是否排序(True、False)
Style
0标准形式,1复选框形式
Text
最后一次选中的项目的文本
2.事件和方法
(1)Click事件
触发:
鼠标单击、列表框的ListIndex属性被改变
(2)DblClick事件
触发:
鼠标双击列表项
(3)AddItem方法
向列表框加入数据项
格式:
列表框.AddItem数据项[,索引值]
不指定索引值,加到末尾
(4)Clear方法
删除列表框的全部数据项
(5)RemoveItem方法
删除列表框中指定的项目
格式:
列表框.RemoveItem索引值
3.应用举例
例7.3向列表框中添加数据项
在窗体中加1个文本框、1个命令按钮、3个列表框
列表框及其属性设置:
Name
Columns
List
MultiSelect
Sorted
Style
List1
0
单列
星期一
星期二
星期三
星期四
星期五
星期六
星期日
0
单行
True
升序
0
标准
List2
1
空
1
False
0
List3
1
空
0
False
1
编写程序代码:
PrivateSubForm_Load()
List1.FontSize=10
List2.FontSize=10
List3.FontSize=10
List2.List(0)="计算机学院"
List2.List
(1)="数学学院"
List2.List
(2)="中文学院"
List2.List(3)="外国语学院"
List2.List(4)="信息学院"
List2.List(5)="管理学院"
List3.AddItem"吉林大学"
List3.AddItem"东北大学",0
List3.AddItem"湖南大学"
List3.AddItem"武汉大学",1
List3.AddItem"南京大学"
List3.AddItem"天津大学",2
EndSub
PrivateSubCommand1_Click()
Text1.Text=List1.Text
Fori=0ToList2.ListCount-1
IfList2.Selected(i)=TrueThen
Text1.Text=Text1.Text+""+List2.List(i)
EndIf
Nexti
Forj=0ToList3.ListCount-1
IfList3.Selected(j)=TrueThen
Text1.Text=Text1.Text+""+List3.List(j)
EndIf
Nextj
EndSub
例7.4向列表框中添加和删除数据项
窗体控件及其属性:
控件
Name
Caption
Columns
Sorted
Style
标签
Label1
请输入数据项:
无
无
无
命令按钮
Command1
添加
无
无
0
文本框
Text1
无
无
无
无
列表框
List1
无
0
False
0
列表框
List2
无
0
False
1
编写事件过程:
PrivateSubForm_Load()
List1.List(0)="计算机学院"
List1.List
(1)="数学学院"
List1.List
(2)="中文学院"
List1.List(3)="外国语学院"
List1.List(4)="信息学院"
List1.List(5)="管理学院"
EndSub
PrivateSubList1_DblClick()
List2.AddItemList1.Text
List1.RemoveItemList1.ListIndex
EndSub
PrivateSubCommand1_Click()
s$=Text1.Text
List1.AddItems$
Text1.Text=""
EndSub
7.1.4组合框
兼有列表框和文本框的功能
1.属性
列表框的属性基本上都适用于组合框,但是Text和Style有差别
(1)Text属性
选择的文本或直接从编辑区输入的文本
(2)Style属性
0下拉式组合框(DropdownComboBox),可输入、选择。
1简单组合框(SimpleComboBox),由文本编辑区和标准列表框组成。
2下拉式列表框(DropdownListBox),只能选择、不能输入。
2.事件和方法
简单组合框,可响应DblClick事件
下拉式组合框、下拉式列表框,可响应Click和DropDown事件
可使用AddItem、Clear和RemoveItem方法,与列表框相同
3.应用举例
例7.5从组合框中选择信息,并输出到文本框中
控件及属性设置:
控件
Name
Caption
Style
标签
Label1
请选择学校:
无
标签
Label2
请选择院系:
无
命令按钮
Command1
确定
0
命令按钮
Command2
取消
0
文本框
Text1
无
无
组合框
Combo1
无
0
组合框
Combo2
无
1
编写代码:
PrivateSubForm_Load()
Combo1.AddItem"吉林大学"
Combo1.AddItem"东北大学"
Combo1.AddItem"武汉大学"
Combo1.AddItem"南京大学"
Combo1.AddItem"天津大学"
Combo2.AddItem"计算机学院"
Combo2.AddItem"外国语学院"
Combo2.AddItem"管理学院"
Combo2.AddItem"教育学院"
Combo2.AddItem"音乐学院"
EndSub
PrivateSubCommand1_Click()
Text1.Text="您选择的是"+Combo1.Text+""+Combo2.Text
EndSub
PrivateSubCommand2_Click()
End
EndSub
7.2图形控件
7.2.1图像框
图像框(Image)可显示图片,但无法进行绘图操作
1.属性
属性
含义
Name
名称
Picture
加载的图形文件
Stretch
True图形适应图像框的大小
False图像框适应图形的大小
2.图形文件的装入
设计阶段:
【方法1】用Picture属性
【方法2】用剪贴板把图形粘贴到图像框内
运行阶段:
用LoadPicture函数
例:
Image1.Picture=LoadPicture("d:
\vb\Graphics\001.jpeg")'加载图形
Image1.Picture=LoadPicture()'删除原有图形
例7.6
控件及属性:
控件
Name
Caption
Stretch
命令按钮
Command1
装载图片
无
命令按钮
Command2
删除图片
无
图像框
Image1
无
True
图像框
Image2
无
True
编写事件过程:
PrivateSubCommand1_Click()
Image1.Picture=LoadPicture("D:
\p1.jpg")
Image2.Picture=LoadPicture("D:
\p2.jpg")
EndSub
PrivateSubCommand2_Click()
Image1.Picture=LoadPicture()
Image2.Picture=LoadPicture()
EndSub
7.2.2图片框
图片框(PictureBox)是容器控件
可显示图片、绘制图形、通过Print方法接收文本
1.属性
图像框的属性大都适用于图片框
图片框不具备Stretch属性
CurrentX和CurrentY只能在运行期间设置输出信息的坐标
2.图形文件的装入
与图像框相同
例7.7向图片框中加载图片,显示文本。
窗体上放入两个图片框,两个命令按钮和一个文本框。
编写事件过程:
PrivateSubForm_Load()
Form1.Caption="图片框应用"
Command1.Caption="装载图片"
Command1.FontSize=14
Command2.Caption="显示文本"
Command2.FontSize=14
Text1.Text=""
Text1.FontName="宋体"
Text1.FontSize=14
Picture2.FontSize=16
Picture2.FontName="隶书"
EndSub
PrivateSubCommand1_Click()
Picture1.Picture=LoadPicture("D:
\p1.jpg")
EndSub
PrivateSubCommand2_Click()
Picture2.Cls
Picture2.CurrentX=200
Picture2.CurrentY=300
Picture2.PrintText1.Text
EndSub
7.2.3直线和形状
用来美化界面
没有可触发的事件
1.常用属性
属性
含义
Name
直线Line或形状的名称Shape
X1、Y1、X2、Y2
直线两个端点的坐标
Top、Left、Height、Width
形状的位置
BorderColor
直线或形状的颜色
FillColor
形状的内部填充颜色
BorderWidth
直线或形状边界线的宽度
BorderStyle
直线或形状边界线的线型
BackStyle
形状是否被指定的颜色填充
FillStyle
形状内部的填充图案
Shape
形状的几何图形
例7.8在窗体上显示图形和线条
在窗体上放7个直线控件和6个形状控件
编写事件过程:
PrivateSubForm_Click()
Line1.BorderStyle=0
Line2.BorderStyle=1
Line3.BorderStyle=2
Line4.BorderStyle=3
Line5.BorderStyle=4
Line6.BorderStyle=5
Line7.BorderStyle=6
Shape1.Shape=0
Shape2.Shape=1
Shape3.Shape=2
Shape4.Shape=3
Shape5.Shape=4
Shape6.Shape=5
Shape1.FillStyle=2
Shape2.FillStyle=3
Shape3.FillStyle=4
Shape4.FillStyle=5
Shape5.FillStyle=6
Shape6.FillStyle=7
EndSub
7.3滚动条
用途:
改变范围、设置数值
1.滚动条的结构
三部分:
两个滚动箭头、一个滚动框
2.滚动条的属性
属性
含义
Name
名称
Max
最大值。
默认32767
Min
最小值。
默认0
Value
当前位置。
默认0
SmallChange
按下两端的方向按钮时,Value的变化量
LargeChange
按下非滚动框的空白区域时,Value的变化量
3.滚动条的事件
Change:
滚动条的值改变
Scroll:
用鼠标拖动滚动框时(按下滚动条的空白部分或方向按钮时,Scroll事件不会发生)
例7.9利用滚动条移动设置文本框中文字的颜色。
(1)在窗体中添加三个标签,一个文本框,三个滚动条。
(2)将三个标签Caption属性分别设置为:
红、绿、蓝。
(3)编写事件过程:
PrivateSubForm_Load()
Form1.Caption="滚动条应用"
Text1.Text="利用滚动条改变颜色"
HScroll1.Max=255
HScroll2.Max=255
HScroll3.Max=255
HScroll1.SmallChange=2
HScroll2.LargeChange=10
EndSub
PrivateSubHScroll1_Change()
Text1.ForeColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)
EndSub
PrivateSubHScroll2_Change()
Text1.ForeColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)
EndSub
PrivateSubHScroll3_Change()
Text1.ForeColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)
EndSub
PrivateSubHScroll1_Scroll()
HScroll1_Change
EndSub
PrivateSubHScroll2_Scroll()
HScroll2_Change
EndSub
PrivateSubHScroll3_Scroll()
HScroll3_Change
EndSub
7.4计时器
计时器(Timer)控件,可以每隔指定的时间间隔执行相应的事件。
1.属性与事件
常用属性:
Name名称
Enabled决定Timer事件是否被触发(True、False)
Interval设置Timer事件之间的间隔(毫秒)
常用事件:
Timer每隔固定的时间被触发
2.应用举例
例7.10数字时钟
窗体上放一个标签控件,调整大小、位置,设置字体、字号、边框。
再放一个计时器控件。
编写事件过程:
PrivateSubForm_Load()
Form1.Caption="计时器控件应用"
Timer1.Interval=1000
EndSub
PrivateSubTimer1_Timer()
Label1.Caption=Time
EndSub
例7.11设计动画
窗体上放3个图像控、1个定时器控件
Image1和Image2的Picture属性分别加载图片,Visible属性设为False
Timer1的Interval属性设置为500
编写事件过程:
DimflagAsBoolean
PrivateSubTimer1_Timer()
IfflagThen
Image3.Picture=Image1.Picture
flag=False
Else
Image3.Picture=Image2.Picture
flag=True
EndIf
EndSub
7.5框架
框架(Frame)是一个容器控件,用来将窗体上的控件分组。
1.属性
Name名称
Caption标题文字
2.框架与控件的配置
把控件放到框架内,框架和控件为一个整体
先画框架,后放控件
3.应用举例
例7.12输入个人信息
控件及属性设置:
控件
Name
Caption
Value
标签
Label1
姓名
无
标签
Label2
年龄
无
文本框
Text1
无
无
文本框
Text2
无
无
文本框
Text3
无
无
命令按钮
Command1
确定
无
命令按钮
Command2
取消
无
框架
Frame1
性别
无
框架
Frame2
学历
无
单选按钮
Option1
男
True
单选按钮
Option2
女
False
单选按钮
Option3
高中
False
单选按钮
Option4
大专
True
单选按钮
Option5
本科
False
编写事件过程:
PrivateSubForm_Load()
Form1.Caption="个人基本资料"
Text1.Text=""
Text2.Text=""
Text3.Text=""
EndSub
PrivateSubCommand1_Click()
IfOption1Thenm1$=Option1.Caption
IfOption2Thenm1$=Option2.Caption
IfOption3Thenm2$=Option3.Caption
IfOption4Thenm2$=Option4.Caption
IfOption5Thenm2$=Option5.Caption
Text3.Text=Text1.Text+""+Text2.Text+""+m1$+""+m2$
EndSub
PrivateSubCommand2_Click()
End
EndSub
7.6焦点和Tab顺序
焦点是指接收用户键盘或鼠标输入的能力
Tab顺序是指按Tab键时,焦点在控件之间移动的顺序
7.6.1焦点(Focus)
控件获得焦点时,触发GotFocus事件
控件失去焦点时,触发LostFocus事件
1.焦点的设置
(1)在程序代码中使用SetFocus方法
(2)在程序运行时用鼠标单击该控件
(3)在程序运行时