VB电子教材04.docx

上传人:b****1 文档编号:10659771 上传时间:2023-05-27 格式:DOCX 页数:47 大小:325.85KB
下载 相关 举报
VB电子教材04.docx_第1页
第1页 / 共47页
VB电子教材04.docx_第2页
第2页 / 共47页
VB电子教材04.docx_第3页
第3页 / 共47页
VB电子教材04.docx_第4页
第4页 / 共47页
VB电子教材04.docx_第5页
第5页 / 共47页
VB电子教材04.docx_第6页
第6页 / 共47页
VB电子教材04.docx_第7页
第7页 / 共47页
VB电子教材04.docx_第8页
第8页 / 共47页
VB电子教材04.docx_第9页
第9页 / 共47页
VB电子教材04.docx_第10页
第10页 / 共47页
VB电子教材04.docx_第11页
第11页 / 共47页
VB电子教材04.docx_第12页
第12页 / 共47页
VB电子教材04.docx_第13页
第13页 / 共47页
VB电子教材04.docx_第14页
第14页 / 共47页
VB电子教材04.docx_第15页
第15页 / 共47页
VB电子教材04.docx_第16页
第16页 / 共47页
VB电子教材04.docx_第17页
第17页 / 共47页
VB电子教材04.docx_第18页
第18页 / 共47页
VB电子教材04.docx_第19页
第19页 / 共47页
VB电子教材04.docx_第20页
第20页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VB电子教材04.docx

《VB电子教材04.docx》由会员分享,可在线阅读,更多相关《VB电子教材04.docx(47页珍藏版)》请在冰点文库上搜索。

VB电子教材04.docx

VB电子教材04

第4章常用控件二

经过上一章的介绍,我们对控件已经有了一个初步的了解。

本章我们将进一步介绍一些常用的控件:

单选按钮、复选框、框架、列表框、组合框、滚动条、定时器。

4.1单选按钮控件

工具箱中单选按钮控件的图标为

单选按钮控件时常出现在一些Windows应用程序中,比如我们在加入某个俱乐部的时候,会被告之填写一些电子表格,如图4-1所示。

图4-1入会电子表格

在性别这一栏,我们只需要在按钮上点击选择即可,非常方便,而且也不会出现重复选择的情况,即不会出现男女同时被选中的情况。

因此说,单选按钮是具有排他性的,若选中某一个按钮则取消其他被选中的按钮,只允许一个按钮被选中。

为了更好的利用单选按钮,在实际应用中,常使用单选按钮的控件数组。

4.1.1单选按钮控件的常用属性

.Caption属性(字符类型)

Caption属性值是显示在控件上的文本,是单选按钮的标题,如图4-1中的“男”,“女”。

单选按钮的该属性以及名称的缺省值都为Option1、Option2、……

.Alignment属性(取值为整数0、1)

Alignment属性决定单选按钮的标题(Caption属性值)在控件上的位置。

属性值为0,表示左对齐(LeftJustify),即单选按钮的标题在右边,此为默认方式。

如图4-2所示,控件Option1的标题“Option1”。

图4-2单选按钮对齐属性说明

属性值为1,表示右对齐(rightjustify),即单选按钮的标题在左边,如图4-2所示,控件Option2的标题“Option2”。

.Enabled属性(逻辑类型)

控件的Enabled属性值为False时,控件显示为灰色,运行时不可用。

就是说,此时若该控件的某一事件发生,相应的事件过程不会被调用。

.Index属性(整数类型)

Index属性值标识为单选按钮组成的控件数组中某个按钮的索引值,利用控件数组的方式使用单选按钮,可以简化代码,增强代码的可读性。

下列过程为控件数组Option1的单击事件过程,运行时单击其中第一个按钮时Index属性值为0,执行语句“Callpro1”;单击其中第二个按钮时Index属性值为1,执行语句“Callpro2”;等等。

PrivateSubOption1_Click(IndexAsInteger)

……

SelectCaseIndex

Case0

Callpro1

Case1

Callpro2

Case2

Callpro3

EndSelect

……

EndSub

.TabIndex属性(整数类型)

建立控件时,VB自动为其分配一个TabIndex值(Menu、Timer、Data、Image、Line和Shape等控件除外,这些控件不包括在Tab键顺序中),利用Tab键可以在控件之间切换焦点。

.Value属性(逻辑类型)

反映控件状态的属性,返回True表示已选择了该按钮;返回False(缺省值)表示没有选择该按钮,使用这个属性可以判断哪个按钮被选中。

4.1.2单选按钮的常用事件

和命令按钮一样,单选按钮最常用的也是Click事件。

在界面设计时,各控件一般按控件建立的时序,自动获得TabIndex属性值。

有些控件可以响应“获得焦点”事件(如文本框、单选按钮控件,相应的事件过程名为Text1_GotFocus、Option1_GotFocus,等等)。

运行时,这些控件中TabIndex属性值为最小的控件首先获得焦点。

文本框控件获得焦点,光标会在文本框内闪烁;命令按钮控件获得焦点,按回车键则该命令按钮的Click事件响应;单选按钮取得焦点后、执行GotFocus事件,还执行Click事件。

例4-1由文本框输入数据,求出该角度的正弦,余弦,正切,反正切三角函数值。

界面设计,如图4-3所示。

在本例中,应保证任何一个单选按钮的TabIndex属性值都不小于文本框、命令按钮的TabIndex属性值(可以在属性窗口中修改),否则,运行时单选按钮控件首先获得焦点、自动执行Click事件,导致在没有输入“角度”的情况下计算函数值。

图中控件的部分属性设置如下:

Label1.Caption="角度:

"(字体为隶书、三号字)

Text1.Text=""

Command1.Caption="EXIT"

Option1.Caption="Sin正弦值"

Option2.Caption="Cos余弦值"

Option3.Caption="Tan正切值"

Option4.Caption="Atn反正切值"

Label2.Caption=""

Label3.Caption=""

Label4.Caption=""

图4-3例4-1之界面设计

过程设计

PrivateSubCommand1_Click()'EXIT按钮,用于退出

End

EndSub

PrivateSubOption1_Click()

Label2.Caption="Sin"+"°"

Label3.Caption="="

Label4.Caption=Str(Sin(Val(Text1.Text)*3.14159265/180))

EndSub

PrivateSubOption2_Click()

Label2.Caption="Cos"+"°":

Label3.Caption="="

Label4.Caption=Str(Cos(Val(Text1.Text)*3.14159265/180))

EndSub

PrivateSubOption3_Click()

Label2.Caption="Tan"+"°"

Label3.Caption="="

Label4.Caption=Str(Tan(Val(Text1.Text)*3.14159265/180))

EndSub

PrivateSubOption4_Click()

Label2.Caption="Atn"+"°"

Label3.Caption="="

Label4.Caption=Str(Atn(Val(Text1.Text)*3.14159265/180))

EndSub

标签控件Label4用来显示结果。

在求三角函数的时候要注意计算机计算的是弧度,而不是角度,所以在计算时我们要把它们转换过来,计算公式为:

弧度值=角度值*3.14159265/180

程序的运行结果如图4-4所示。

图4-4例4-1之运行结果

例4-2重新设计例4-1中的程序,将四个单选按钮控件合为一个控件数组。

将例4-1的程序简化,由于其中四组计算不同三角函数值的程序代码极为相似,只是在运算时使用的三角函数不同而已,因此可以用控件数组的方法来实现,在添加OptionButton时利用复制粘贴的办法来产生控件数组中各个控件。

界面设计的外观与图4-3完全一致,但此时,单选按钮已产生了变化:

它们共同响应一个Click事件,由Index来区分不同的按钮。

界面设计

参照例4-1中界面设计,不同的是各单选按钮组成了一个控件数组,属性设置如下:

Option1(0).Caption="Sin正弦值"

Option1

(1).Caption="Cos余弦值"

Option1

(2).Caption="Tan正切值"

Option1(3).Caption="Atn反正切值"

过程设计

PrivateSubOption1_Click(IndexAsInteger)

DimxAsSingle

Label3.Caption="="

SelectCaseIndex

Case0

Label2.Caption="Sin"+"°"

x=Sin(Val(Text1.Text)*3.14159265/180)

Label4.Caption=Format(x,"0.00")

Case1

Label2.Caption="Cos"+"°"

x=Cos(Val(Text1.Text)*3.14159265/180)

Label4.Caption=Format(x,"0.00")

Case2

Label2.Caption="Tan"+"°"

x=Tan(Val(Text1.Text)*3.14159265/180)

Label4.Caption=Format(x,"0.00")

Case3

Label2.Caption="Atn"+"°"

x=Atn(Val(Text1.Text)*3.14159265/180)

Label4.Caption=Format(x,"0.00")

EndSelect

EndSub

程序中的函数Format的作用是:

计算其第一个数值参数的值,用其第二个参数所提供的格式、将该数值转换为字符串返回。

在此,格式串"0.00"使三角函数值保留小数点后两位(整数部分的位数不限)。

4.2复选框控件

工具箱中复选框控件的图标为。

与上节所介绍的单选按钮控件作比较,复选框意味着多项选择。

与单选按钮不同的是,它每次可在同组的复选框中选择多个结果,如图4-5所示。

图4-5复选框示例

一般情况下,复选框控件是以数组的方式添加的,而是否被选中可以由它的属性Value的值进行判断。

4.2.1复选框控件的常用属性

Caption属性(字符类型)

复选框控件的Caption属性以及名称的缺省值都为Check1、Check2、……

Index属性(整数类型))

该属性值为复选框控件数组的下标,一般来说,使用控件数组时这是不可少的属性,通过它可以区分开同一控件数组中的不同复选框。

3.Value属性(整数0、1、2)

复选标志,这是复选框最重要的属性,它的值与复选框控件的状态有关,其缺省值为0。

Value属性值为0,则复选框内为空白;Value属性值为1,则复选框内显示一个“√”标志;Value属性值为2,则复选框内为灰色的“√”标志。

运行时单击复选框:

如果原先Value属性值为0(同时框内显示空白),单击后Value属性值变为1(同时框内显示“√”标志)。

如果原先Value属性值为1或2(同时框内显示黑白或灰色的“√”标志),单击后Value属性值变为0(同时框内显示空白)。

反复单击同一复选框控件时,其Value属性值只能在0、1之间交替变换。

4.2.2复选框控件的常用事件

复选框控件的常用事件一般为Click事件,复选框不支持鼠标双击事件,系统把一次双击解释为两次单击事件。

例4-3利用复选框设置字型变化:

加下划线、加粗、斜体,文字用标签框显示。

界面设计,如图4-5所示。

 

图4-5例4-3之界面设计

控件的部分属性设置如下:

Lable1.Caption="VisualBasic"

Check1.Caption="加粗"

Check2.Caption="下划线"

Check3.Caption="斜体"

过程设计

PrivateSubCheck1_Click()

IfCheck1.Value=1Then

Label1.FontBold=True

Else

Label1.FontBold=False

EndIf

EndSub

PrivateSubCheck2_Click()

IfCheck2.Value=1Then

Label1.FontUnderline=True

Else

Label1.FontUnderline=False

EndIf

EndSub

PrivateSubCheck3_Click()

IfCheck3.Value=1Then

Label1.FontItalic=True

Else

Label1.FontItalic=False

EndIf

EndSub

当复选框的Value属性为1时,复选框被选中,产生各种字型变化的效果。

而当它为0时,字型恢复到默认的状态。

运行结果图4-6所示。

图4.6例4-3之运行结果

4.3框架控件

框架控件的图标为。

框架控件的Caption属性以及名称的缺省值都为Frame1、Frame2、……

和窗体、图片框控件一样,框架控件也可以作为其他控件的容器。

在容器中的控件,不仅可以随容器移动,而且控件的位置属性也是以相对于容器的位置设置的。

Frame控件不仅可以作为其他控件的容器,而且可用Frame控件将其他控件分为可标识的控件组,比如单选按钮可以通过Frame分组,从而产生多个选择。

注意:

必须先建立框架控件,然后在框架中添加其他的控件,不能简单的把已建立的控件拖动到框架中去。

例4-4利用框架建立一个字体、字型、字号的对话框。

可以沿用上一个例题的方式,使用复选框,但字体和字号只能单选,又必须使用单选框。

所以,如何将单选框区分为两个不同的选择组呢?

框架使我们做起来得心应手。

界面设计如图4-7所示,控件的部分属性设置如下:

Frame1.Caption="字型"

Check1(0).Caption="粗体"

Check1

(1).Caption="下划线"

Check1

(2).Caption="斜体"

Frame2.Caption="字号"

Option1(0).Caption="10"

Option1

(1).Caption="20"

Option1

(2).Caption="30"

Frame3.Caption="字体"

Option2(0).Caption="黑体"

Option2

(1).Caption="楷体"

Option2

(2).Caption="宋体"

图4-7例4-4之界面设计

过程设计

PrivateSubCheck1_Click(IndexAsInteger)

SelectCaseIndex

Case0

IfCheck1(0).Value=1Then

Text1.FontBold=True

Else

Text1.FontBold=False

EndIf

Case1

IfCheck1

(1).Value=1Then

Text1.FontUnderline=True

Else

Text1.FontUnderline=False

EndIf

Case2

IfCheck1

(2).Value=1Then

Text1.FontItalic=True

Else

Text1.FontItalic=False

EndIf

EndSelect

EndSub

PrivateSubOption1_Click(IndexAsInteger)

SelectCaseIndex

Case0

Text1.FontSize=10

Case1

Text1.FontSize=20

Case2

Text1.FontSize=30

EndSelect

EndSub

PrivateSubOption2_Click(IndexAsInteger)

SelectCaseIndex

Case0

Text1.FontName="黑体"

Case1

Text1.FontName="楷体_gb2312"

Case2

Text1.FontName="宋体"

EndSelect

EndSub

设置FontName属性时,不要采用中文输入法输入双引号,而应采用英文输入法。

此外,楷体的字体名称是"楷体_gb2312",不要与别的字体类型混淆起来。

4.4列表框控件和组合框控件

列表框和组合框都可以为用户提供选项列表,用户可以在列表中进行选择。

由于二者提供不同的选择方式,使得界面有更多变化。

一般情况下,如果希望将选择限制在列表之内时,应使用列表框。

组合框包含编辑区域,因此可以通过组合框将不在列表的选项输入列表区域中。

此外,组合框节省了窗体空间。

当程序预留的界面空间很小时,组合框就是不让之选了。

4.4.1列表框控件ListBox

工具箱中列表框控件的图标为。

列表框控件的Caption属性以及名称的缺省值都为List1、List2、……

列表框控件显示项目列表,从其中可以选择一项或多项。

如果项目总数超过了可显示的项目数,就自动在ListBox控件上添加滚动条。

它不具备编辑功能,运行时不能在列表框内输入。

1.列表框控件常用属性

List属性(字符串数组)

列表框控件的各个表项是使用数组的方式保存的,数组的每一个元素存储列表框控件的一个表项。

因此,利用索引可以访问列表项目。

格式为:

列表框控件名.List(Index)

如图4-8所示的列表框控件名称为List1,表达式“List1.List(0)”的值为“红楼梦”,因为索引(数组元素下标)值为0,因此访问的是数组List中的第一个表项。

图4-8列表框控件示例

注意:

数组元素最小下标值的设定对于列表框来说是无效的,如设定“OptionBase1”,但对于列表框来说,第一个表项的索引值总是0。

ListCount属性(正整数)

该属性值为控件列表部分项目的个数,由于索引值从0开始计数,所以ListCount-1是最后一个项目的Index。

因此,列表框List属性下标值的范围为0~ListCount-1。

图4-8所示列表框控件的下标范围为0~3,而它的ListCount值为4。

ListIndex属性(整数类型)

该属性值为被选中表项的索引,如果没有选中任何一项,则该属性值为-1。

建议:

仅当列表框控件设置了“单选”属性情况下,用ListIndex属性值访问所选项。

通过ListIndex属性,可以区分已经选中和未被选中的表项。

如图4-8所示:

若列表框控件名称为List1,则表达式“List1.List(List1.ListIndex)”的值为"红楼梦",因为第1个表项被选中(故VB将其突出显示)、相应属性ListIndex值为0;假定只有“三国演义”表项被选中,则控件的ListIndex值为2;假定图中没有任何一个表项被突出显示,则列表框的ListIndex属性值为-1;如果为列表框的ListIndex属性赋值-1,则列表框中取消对任何表项的突出显示。

MutiSelect属性(整数0、1、2)

利用列表框控件的该属性,可以为列表框设置“单选”或“允许多选”属性。

MutiSelect属性值为0:

只能单选(缺省值),若选中一个表项则其他表项取消突出显示。

MutiSelect属性值为1:

可以多选,被选中的表项都被突出显示。

MutiSelect属性值为2:

扩展多选,可以用鼠标在列表栏内拖动、选中相邻的若干个表项。

Text属性(最后一次选中的表项,字符串类型)

该属性用来返回当前选中的表项内容。

对于单选的列表框控件List1,字符串List1.list(ListIndex)与List1.Text相等,都是被选中表项的文本。

Selected属性(逻辑类型)

Selected属性标识一个数组,数组各元素为:

Selected(0)、Selected

(1)、……、Selected(列表框控件名.ListCount-1)

若列表框控件的第i个表项被选中,则Selected(i-1)的值为True(若为Selected(i-1)赋值True,则列表框控件的第i个表项被突出显示);

若列表框控件的第i个表项未被选中,则Selected(i-1)的值为False(若为Selected(i-1)赋值False,则列表框控件的第i个表项被取消突出显示)。

在允许多项选择的情况,应利用Selected属性区分哪些表项被选中。

下列语句可以在窗体上显示列表框控件List1被选中的表项:

Fori%=0ToList1.ListCount-1

IfList1.Selected(i%)=TrueThenPrintList1.List(i%)

Nexti%

SelCount属性(整数类型)

列表框控件的该属性值为被选中表项的个数。

Sorted属性(逻辑类型)

确定列表框控件的各表项是否按字母数字升序排列:

设为True时按序排列;设为False时不按序排列。

该属性的默认值为False。

Style属性(整数0、1)

列表框控件该属性值用以确定列表框的外观。

Style属性值为1,为复选框样式,如图4-9左边列表框List1所示。

Style属性值为0(缺省值),为标准样式,如图4-9右边列表框List2所示。

图4-9列表框控件Style示例

若列表框控件的Style属性值为1,无论MutiSelect属性取何值,该列表框在实际使用上允许多选。

2.列表框控件的常用方法

AddItem方法

列表框控件的表项可以在属性设置时添加:

在属性窗口内选中List属性,在下拉框中添加,用Ctrl+Enter换行。

此外,还可以用AddItem方法在设计时添加。

格式:

列表框控件名.AddItem表项文本[,索引号]

索引号可以指定项目文本的插入位置,省略索引号则表项文本自动加到列表框末尾。

索引号只能小于列表框的ListCount属性值:

或表项文本加到列表框末尾,或插入到已有表项中。

如下列Form_Load事件可在装入窗体时,为列表框控件List2添加若干表项。

如果List2在设计时为空表,则执行下列事件过程后列表框控件List2的显示如图4-9所示。

PrivateSubForm_Load()

List2.AddItem"篮球"

List2.AddItem"足球"

List2.AddItem"网球"

List2.AddItem"排球"

List2.AddItem"羽毛球"

List2.AddItem"曲棍球"

EndSub

运行时可以用赋值语句在列表框控件中添加表项:

列表框控件名.List(ListIndex)=表项文本

同样,用赋值语句添加表项时,索引号也只能小于列表框的ListCount属性值。

Clear方法

该方法用以清空列表框控件中所有表项。

格式:

列表框控件名.Clear

RemoveItem方法

该方法用以删除列表框中指定表项。

格式:

列表框控件名.RemoveItem索引值

例4-5编程,对列表框控件中的表项作添加、删除、清空处理。

界面设计,如图4-10所示:

命令按钮名称从上到下依次为C

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2