用户窗体

来源:百度文库 编辑:神马文学网 时间:2024/04/27 21:08:19
一、概述
窗体是VB最重要的对象,用于创建VB应用程序界面或对话框时包容程序所需的各种控件对象。一个VB应用程序至少应包含一个窗体,最多可包含255个窗体。
启动VB创建新工程时,VB会自动向新工程中添加一个名称为“Form1”的标准窗体(见图2.1),也称为初始窗体,它是用户设计程序界面的第一块“画板”。

图2.1 VB窗体对象
一个VB应用程序通常需要多个窗体,要在工程中添加窗体有多种方法,可以用鼠标在工程资源管理器窗口中右击,然后在弹出菜单中选择“添加”命令,再在子菜单中选择“添加窗体”(见图2.2),也可以选择“工程”菜单中的“添加窗体”命令项(见图2.3),还可以单击工具栏中的“添加窗体”命令按钮。

图2.2 添加窗体

图2.3 添加窗体
二、窗体的属性
所谓属性是指对象的特征。VB为窗体对象规定了众多的属性,下面介绍窗体的常用属性以及各属性的设置方法。
1.窗体的常用属性
(1)Name:用于设置窗体的名称。对象的名称用于在编写程序代码时标识对象,因此程序中的每个对象都必须有自己的名  称。窗体的命名通过给该窗体的Name属性赋值来完成。给窗体命名时,必须遵循以下规则:一个窗体名必须以一个字  母开头,可包含数字和下划线,但不能包含空格和标点符号。窗体名(其他控件对象名同)长度不得超过40个字符。
(2)Appearance:用于设置在程序运行时窗体是否以立体效果显示。该属性有两个取值:0或1,设置为0时,窗体显示效  果为平面,设置为1时,窗体显示效果为立体。
(3)BackColor:用于设置窗体的背景色。
(4)Caption:用于设置窗体标题栏中的文本内容。
(5)BorderStyle:用于设置窗体的边框样式。
(6)Enabled:用于设置窗体是否有效。设置为True时,程序运行时窗体可以被操作,即窗体可以响应作用于它的事件,  设置为False时,窗体不可以被操作,而且窗体上的对象也不可以进行操作。
(7)Font:用于设置窗体上文本的字体、字型和字号。
(8)ForeColor:用于设置窗体上文本和图形的前景色。
(9)Moveable:用于设置窗体在程序运行时能否被移动。
(10)Left和Top:用于设置程序运行时窗体在屏幕上的位置,Left属性值决定窗体左上角在屏幕上的横坐标,Top属性值  决定窗体左上角在屏幕上的的纵坐标。
(11)Height和Width:用于设置程序运行时窗体在屏幕上的大小(高和宽),Height属性值决定窗体的高度,Width属性值  决定窗体的宽度。
(12)Picture:用于设置在窗体上显示图形。属性值应是一个图形文件名(含路径)。(13)StartUpPosition:用于设  置程序运行时窗体首次出现时的位置。
2.窗体属性的设置和改变
窗体属性的设置和改变通常有两种方法可采用(其它控件对象同)。一种是在设计时通过属性窗口为其设定各种属性值;另一种是在程序代码中设置或改变属性值。需要特别指出的是:一个对象不是所有的属性都可以在设计时设置,有的属性只能在代码中设置,反之不是所有的属性都可以在代码中设置,有的属性只能在设计时设置。
在程序代码中设置或改变对象属性值使用如下赋值表达式:
<对象名>.<属性名>=属性值
下面分别演示用两种方法设置窗体的caption属性。
设计时设置
代码中设置
三、窗体的方法
窗体的方法是指窗体可以执行的动作和行为。下面介绍窗体的常用方法以及如何通过代码调用这些方法。
1.窗体的常用方法
(1)Hide:窗体调用该方法将由显示状态变成隐藏状态。
(2)Show:窗体调用该方法将由隐藏状态变成显示状态。
(3)Move:窗体调用该方法可以进行移动。
(4)Print:窗体调用该方法可以实现在窗体上“打印”文本。
(5)Cls:窗体调用该方法将把通过Print方法“打印”到窗体上的文本清除掉。
2.窗体方法的使用
方法是对象可以执行的动作和行为,在VB程序代码中,对象调用方法的一般格式为:
<对象名>.<方法名>[参数1,参数2,…]
调用方法时,是否需要参数须根据是何方法以及具体的使用情况而定。
下面通过实例演示窗体Hide和Show方法的使用以及调用后的效果。
调用方法
四、窗体事件
事件是作用于对象上的一种动作或行为,也可以理解为是对象能够识别(也称响应)的一种操作。VB系统为每种对象可以响应哪些事件都预先进行了规定,用户不可以随意增加。通过代码编辑器窗口,读者可以非常方便地了解一种对象可以响应哪些事件。在代码编辑器窗口的“对象列表框”中选定一个对象后,单击“事件列表框”右端带箭头的按钮,这时“事件列表框”下拉列出的就是该对象可以响应的各种事件,图2.4显示了窗体对象可以响应的各种事件。

图2.4 窗体相应的事件
窗体可以响应许多事件,编程时常用到的有如下事件。
(1)C1ick事件。程序运行时,当用户用鼠标左键单击窗体时,引发该窗体的C1ick事件(也称单击事件)。
(2)DblClick事件。程序运行时,当用户用鼠标左键双击窗体时,引发该窗体的DblClick事件(也称双击事件)。
(3)Load事件。运行程序,当系统把窗体由外部存储介质装入内存时,引发该窗体的Load事件(也称装载事件)。
(4)Resize事件。程序运行时,当窗体大小被改变时,引发该窗体的Resize事件。
(5)Activate事件。程序运行时,当窗体变为当前窗体时,引发该窗体的Activate事件(也称激活事件)。
(6)Deactivate事件。程序运行时,当A窗体取代B窗体变成当前窗体时,引发B窗体的Deactivate事件(也称失去激活事件)。
(7)Unload事件。当窗体被从内存中卸载时,引发该窗体的Unload事件(也称卸载事件)。
当针对一个对象的事 基本控件
VB预先定义了众多的控件(类),对于这些预先定义的控件,读者在设计应用程序界面时,可以直接使用,当然读者也可以按照语法规则自行设计控件。在众多的控件中有一些控件在设计程序界面时要经常使用,我们称之为基本控件。VB启动以后基本控件会自动出现在VB的控件工具箱(参见图2.5)中,它们是:标签、命令按钮、文本框、列表框、组合框、单选按钮、复选框、框架、图像框、图片框、滚动条和定时器等。

图2.5 VB控件工具箱
件发生以后,系统将自动执行与之相对应的事件过程中的程序代码。
标签控件(Label)
标签主要用于在窗体上增加文字说明,比如为文本框、列表框等添加标签文字等,以便程序用户能根据标签文字的提示进行正确操作。标签控件常用的属性、方法和事件如下:
1.常用属性
(1)Name:用于设置标签控件的名称。
(2)Caption:用于设置标签中的文本内容。
(3)Alignment:用于设置标签中文本的对齐方式。
(4)AutoSize:用于设置标签的大小是否根据其中所含文字的多少进行自动调整。
(5)BackStyle:用于设置标签对象是否透明。
除了上述属性以外,标签还有许多其它属性,其中BorderStyle、Enabled、ForeColor、Font等,它们的意义和窗体的同名属性完全相同,在此不再赘述。而Left、Top、Height、Width等和窗体的同名属性相似,用于确定标签在窗体中的位置和大小。
2.常用方法
(1)Refresh方法:刷新标签中的文字内容,使标签对象中显示最新的Caption属性值。
(2)Move:作用和使用方法同窗体对象。
3.事件
标签对象主要用来提供文字说明,因此尽管可以响应Click、DblClick等事件,但这些事件在程序设计中很少使用。
图像框控件(Image)
图像框(Image)和下节将要介绍的图片框(PictureBox),在程序设计中可用于美化程序界面,也可用于接受或输出图像图形数据,显示的图像可以是位图文件(.bmp)、图标文件(. ico)、栅图形文件(.gif)和静态图像文件(.jpg或.jpeg)等。图像框由控件工具箱中拖放到窗体上后,其外观是一个虚线框。
1.常用属性
(1)Stretch;用于设置图像框是否可以伸缩。当属性值设为True时,图像框大小不能调整,对象中的图片会自动伸缩,以适应对象的大小,填满整个对象;当属性值设为False时,对象自动调整大小,以适应其中的图片,而图片的大小不能改变。
(2)Picture:该属性的作用和使用方法,可参考窗体对象的同名属性。
2.常用方法和事件
图像框的常用方法有Move和Refresh,其作用和调用格式可参考上述相关控件对象的同名方法,其常用事件与窗体基本相同。
文本框控件(TextBox)
文本框主要用于程序运行时接收用户在框内输入的信息,或输出(显示)程序运行的结果。文本框常用的属性、方法和事件如下:
1.常用属性
(1)Name:用于设置文本框对象的名称。
(2)Text:该属性是文本框最常用和最重要的属性,用于设置或返回文本框对象中的文本内容。
(3)PasswordChar:当用户输入口令时,通常要求程序界面上不显示用户实际输入的字符,而代之以其它符号。  该属性用于设置替代符号,例如,输入口令时,希望显示“*”以代替实际输入的字符,这时可将文本框的PasswordChar属性设置为“*”。
(4) MaxLength:用于设置本文本框可接受的字符个数。
(5)MultiLine:用于设置文本框能否以多行形式显示文本内容。
(6)ScrollBars:用于设置文本框是否带有滚动条。
(7)Alignment:用于设置文本框中文本的对齐形式。默认值为0,表示文本左对齐;若为1,表示文本右对齐;  若为2,则文本居中
(8)Locked:用于设置文本框是否锁定。该属性有True和False两个取值,若设置为True,文本框中的文本不可  编辑。
(9)Selstart:用于设置或返回在文本框中用鼠标进行拖放以选择部分文本时的起始点。
(10)SelLength:用于设置或返回在文本框中所选文本的字符数。
(11)SelText:用于设置或返回在文本框中所选的文本内容。
除上述属性以外,文本框还有其它许多属性,其中BorderStyle、Enabled、ForeColor、Backcolor、Font等,它们的意义和窗体的同名属性完全相同;而Left、Top、Height、Width等和标签同名属性相同。
2.常用方法
(1)Refresh方法:刷新文本框中显示的内容,使文本框对象中将显示最新的Text属性值。
(2)SetFocus方法:使文本框获得焦点,也就是成为当前文本框。当文本框成为当前文本框时,框中具有闪动的光标,此时通过键盘可直接在该文本框中输入信息。
文本框应用示例
3.常用事件
(1)Change事件:当文本框的Text属性值,即显示在文本框中的文本内容发生改变时,引发本事件。
(2)LostFocus事件:当光标离开文本框时,引发本事件。
(3)GotFocus事件:当文本框成为当前文本框,即获得光标时,引发本事件。
(4)KeyPress事件:当文本框为当前文本框,用户按下或松开键盘上某个按键时,发生本事件。
(5)Keydown事件:当文本框为当前文本框,用户按下键盘上某个按键时,发生本事件。
(6)Keyup事件:当文本框为当前文本框,用户松开键盘上某个按键时,发生本事件。
(7)Click事件:用户在文本框中单击鼠标左键时,发生本事件。
(8)DblClick事件:用户在文本框中双击鼠标左键时,发生本事件。
命令按钮控件(CommandButton)
命令按钮是VB应用程序中经常使用的对象,程序运行中要执行一条或一组命令,通常通过用鼠标单击命令按钮来实现,当然具体产生何种动作要通过执行相应的事件过程中的程序代码来决定。命令按钮常用的属性、方法和事件如下:
1.常用属性
(1)Caption:用于设置显示在按钮上的文字,以提示用户单击该按钮将执行何种命令。
(2)Cancel:用于设置单击命令按钮和按下键盘上的“Esc”按键是否等效。
(3)Default:用于设置单击命令按钮和按下键盘上的“Enter”按键是否等效。
(4)Enabled:用于设置命令按钮是否有效,即是否可以被操作。当属性值设为True时,该按钮处于“活动状态”,即可以对其进行操作;若为False时,该按钮将变灰,表示处于不可操作状态。见图2.6,按钮1处于可操作状态,按钮2处于不可操作状态。

图2.6 设置Enabled属性
(5)Style与Picture:用于给命令按钮表面上添加图片。当Style属性设置为0(默认值)时,按钮表面只能显示由其Caption属性规定的文本;Style属性若设为l,此时可通过按钮的Picture属性为按钮表面添加图片(后述的复选框对象和单选按钮对象也具有与此相同属性,到时不再复述)。除了Picture属性以外,命令按钮还有两个与图片有关的属性,即DisabledPicture与DownPicture属性。两个属性分别用于设置按钮无效时与按钮处于按下状态时显示的图形。
除上述几个十分重要的属性以外,命令按钮还有一些其它的属性,它们的作用和设置方法可以参照窗体的同名属性。
2.常用方法
(1)SetFocus方法:使命令按钮将获得焦点,对于获得焦点的按钮,程序运行时按“Enter”键等同于用鼠标单击本按钮。获得焦点的按钮,其四周有一矩形虚线框,参见图2.6中的“按钮1”。
3.常用事件
对于命令按钮来说,最基本、也是最重要的事件就是Click,即鼠标单击。程序运行时,当用户用鼠标左键单击该按钮时,引发该按钮的Click事件,同时驱动系统执行与此事件对应的事件过程(程序代码段)。
列表框控件(ListBox)
使用应用程序时,经常要进行按项目统计或查询等操作,如果每次操作时都要在文本框中输入项目名称,再进行查询或统计,对用户来讲会是一件比较麻烦的事情。使用列表框对象,编程人员可预先在设计时或通过程序代码动态地对有可能使用的项目名称进行提前设置,这样程序运行时,用户只需要在列表框中选择即可。
1.常用属性
(1)List:用于设置或返回列表框中的列表项。设计时,在属性设置窗口中可以通过该属性向列表框逐一添加列表项,具体操作方法是:单击该属性右端的带箭头按钮,在弹出的下拉列表框中逐个输入列表项,每输入一项按“Ctrl+Enter”键换行,输入结束按“Enter”键,参见图2.7。运行程序,列表框外观如图2.8所示

图2.7 设置List属性

图2.8 运行时列表框外观
(2)ListCount:用于返回列表框中列表项的数目。
(3)ListIndex:用于返回在列表框中选中的某个列表项的序号。
(4)Text:用于返回在列表框中选中的列表项的文本内容。
(5)Columns:用于设置列表框的显示形式。
(6)Sorted:用于设置列表项是否排序。
(7)Selected:用于返回某一个列表项是否被选中。
2.常用方法
(1)AddItem:调用该方法,可在程序运行时动态地向列表框中添加列表项。使用格式为:
<对象名>.AddItem 列表项,插入序号
(2)RemoveItem:调用该方法,可在程序运行时动态地删除某个列表项,使用格式为:
<对象名>.RemoveItem 列表项序号
(3)Clear:调用该方法,可在程序运行时动态删除列表框中的所有列表项。调用格式如下:
<对象名>.Clear
3.常用事件
列表框可以响应Click和DblClick事件,常用的是Click事件。当用户用鼠标在列表框中的某个列表项上单击时,引发该事件。如果用户单击的是列表框的空白处,并不会引发该事件。
列表框控件(ListBox)
使用应用程序时,经常要进行按项目统计或查询等操作,如果每次操作时都要在文本框中输入项目名称,再进行查询或统计,对用户来讲会是一件比较麻烦的事情。使用列表框对象,编程人员可预先在设计时或通过程序代码动态地对有可能使用的项目名称进行提前设置,这样程序运行时,用户只需要在列表框中选择即可。
1.常用属性
(1)List:用于设置或返回列表框中的列表项。设计时,在属性设置窗口中可以通过该属性向列表框逐一添加列表项,具体操作方法是:单击该属性右端的带箭头按钮,在弹出的下拉列表框中逐个输入列表项,每输入一项按“Ctrl+Enter”键换行,输入结束按“Enter”键,参见图2.7。运行程序,列表框外观如图2.8所示

图2.7 设置List属性

图2.8 运行时列表框外观
(2)ListCount:用于返回列表框中列表项的数目。
(3)ListIndex:用于返回在列表框中选中的某个列表项的序号。
(4)Text:用于返回在列表框中选中的列表项的文本内容。
(5)Columns:用于设置列表框的显示形式。
(6)Sorted:用于设置列表项是否排序。
(7)Selected:用于返回某一个列表项是否被选中。
2.常用方法
(1)AddItem:调用该方法,可在程序运行时动态地向列表框中添加列表项。使用格式为:
<对象名>.AddItem 列表项,插入序号
(2)RemoveItem:调用该方法,可在程序运行时动态地删除某个列表项,使用格式为:
<对象名>.RemoveItem 列表项序号
(3)Clear:调用该方法,可在程序运行时动态删除列表框中的所有列表项。调用格式如下:
<对象名>.Clear
3.常用事件
列表框可以响应Click和DblClick事件,常用的是Click事件。当用户用鼠标在列表框中的某个列表项上单击时,引发该事件。如果用户单击的是列表框的空白处,并不会引发该事件。
列表框控件(ListBox)
使用应用程序时,经常要进行按项目统计或查询等操作,如果每次操作时都要在文本框中输入项目名称,再进行查询或统计,对用户来讲会是一件比较麻烦的事情。使用列表框对象,编程人员可预先在设计时或通过程序代码动态地对有可能使用的项目名称进行提前设置,这样程序运行时,用户只需要在列表框中选择即可。
1.常用属性
(1)List:用于设置或返回列表框中的列表项。设计时,在属性设置窗口中可以通过该属性向列表框逐一添加列表项,具体操作方法是:单击该属性右端的带箭头按钮,在弹出的下拉列表框中逐个输入列表项,每输入一项按“Ctrl+Enter”键换行,输入结束按“Enter”键,参见图2.7。运行程序,列表框外观如图2.8所示
组合框控件(ComboBox)
组合框是将文本框和列表框的功能融合在一起的一种控件。因此从外观上看,它包含列表框和文本框两个部分,程序运行时,在列表框中选中的列表项会自动填入文本框。
1.常用属性
(1)Style:用于设置组合框的外观。有“下拉式组合框”、“简单组合框”和“下拉列表式组合框”三种
(2)Text:程序运行时,用户在列表框中选中的列表项内容或在文本框中输入的文本内容(第三种外观的组合框不能进行输入,只能选择)。
组合框的其它属性可参考前面介绍的文本框和列表框。
2.常用方法
列表框的方法都适用用于组合框。
3.常用事件
组合框的事件和组合框的形式有关。
(1)Change事件:仅适用于“下拉式组合框”和“简单组合框”,程序运行时,当在文本框中输入不同文本内容时,引发该事件(参考文本框的同名事件)。
(2)Click事件:程序运行时,当用鼠标单击列表框中的某个列表项时,引发该事件。
(3)DblClick事件:仅适用于“简单组合框”,当用鼠标双击列表框中的某个列表项时,引发该事件。“下拉式组合框”和“下拉列表式组合框”,因为鼠标单击后,下拉列表框要向上折叠,所以不响应双击事件。
(4)DropDown事件:仅适用于“下拉式组合框”和“下拉列表式组合框”,程序运行时,当单击带向下箭头的按钮,列表框下拉展开时,引发该事件。
(5)DropUp事件:仅适用于“下拉式组合框”和“下拉列表式组合框”,程序运行时,当单击选中某个列表项,列表框向上折叠时,引发该事件。

图2.7 设置List属性

图2.8 运行时列表框外观
(2)ListCount:用于返回列表框中列表项的数目。
(3)ListIndex:用于返回在列表框中选中的某个列表项的序号。
(4)Text:用于返回在列表框中选中的列表项的文本内容。
(5)Columns:用于设置列表框的显示形式。
(6)Sorted:用于设置列表项是否排序。
(7)Selected:用于返回某一个列表项是否被选中。
2.常用方法
(1)AddItem:调用该方法,可在程序运行时动态地向列表框中添加列表项。使用格式为:
<对象名>.AddItem 列表项,插入序号
(2)RemoveItem:调用该方法,可在程序运行时动态地删除某个列表项,使用格式为:
<对象名>.RemoveItem 列表项序号
(3)Clear:调用该方法,可在程序运行时动态删除列表框中的所有列表项。调用格式如下:
<对象名>.Clear
3.常用事件
列表框可以响应Click和DblClick事件,常用的是Click事件。当用户用鼠标在列表框中的某个列表项上单击时,引发该事件。如果用户单击的是列表框的空白处,并不会引发该事件。
图片框控件(PictureBox)
和图像框相比,图片框象除了可以接受和输出一般图形以外,还可用于创建动画图形,另外图片框对象支持Print方法,可以在对象中输出文本。和窗体对象一样,图片框也属于容器对象,因此在对象中还可以放置其它控件对象。图片框被拖放到窗体上后,其外观是一个画框。
1.常用属性
(1)AutoSize:用于设置图片框是否自动调整大小。当属性值设为True时,图片框会根据图片大小,自动调整大小以    适应所装载的图片。
(2)Picture:该属性的作用和使用方法,可参考窗体的同名属性
2.常用方法和事件
与图像框相比,图片框除了可以调用Move和Refresh方法以外,还支持Print方法,有关该方法的调用可参考窗体的同名方法。图片框的常用事件与窗体基本相同。
单选按钮控件(OptionButton)
使用应用程序时,经常要进行按预先给定的条件输入、统计、查询和显示等操作。如果条件组中的各条件相互之间是排斥的,可使用单选按钮(OptionButton)来实现。如果程序界面上不止一个单选条件组时,应使用容器控件(通常使用框架(Frame))将组与组区分开来。
单选按钮(OptionButton)在程序运行时,其外观有两种形式:一种是选中状态,另一种是未选中状态。图2.10中“18号”按钮处于选中状态,“16号”和“20号”都处于未选中状态。

图2.10 单选按钮的两种外观
(1)Caption属性:用于设置按钮上的文字内容。图2.10中的“16号”、“18号”和“20号”等文字内容就分别是通过三个单选按钮的Caption属性进行设置的,即分别是三个按钮的Caption属性值。
(2)Alignment属性:用于设置按钮上文字的对齐方式。
(3)Style、DisabledPicture、DownPicture和Picture属性:作用和使用方法与命令按钮相同。
(4)Value属性:用于判断按钮是否处于被选中状态。该属性有True和False两个取值,程序运行时,选中某个单选按钮,则该按钮的Value属性值为True,否则为False。
除上述属性以外,单选按钮还有许多其它属性,其作用和用法可参考其它控件的同名属性。
单选按钮的常用方法有Move、Refresh和Setfocus,其调用方法可参考标签和命令按钮对象的同名方法。
单选按钮最常用的事件为Click事件,程序运行时,用鼠标单击单选按钮时,引发该事件。单击单选按钮时,如果该按钮原来处于未选中状态,单击后将变成选中状态,同时同组的其它按钮将变成未选中状态;如果该按钮原来已处于选中状态,单击后仍将保持选中状态。
复选框控件(CheckBox)
使用应用程序时,经常要进行按预先给定的条件输入、统计、查询和显示等操作,如果条件组中的各条件相互之间是可以组合的,可使用复选框(CheckBox)。当程序界面上不止一个复选条件组时,尽管组与组之间不会产生什么影响,但从界面美观的角度出发,也应使用框架(Frame)将组与组区分开来。
复选框(CheckBox)在程序运行时,其外观有两种形式:一种是选中状态,另一种是未选中状态。参见图2.11,图中“必修课程”复选框处于选中状态,“选修课程”复选框处于未选中状态。

图2.11 复选框的两种外观
(1)Caption属性:用于设置复选框中的文字内容。图2.11中的“必修课程”和“选修课程”等文字内容就分别是通过两个复选框的Caption属性进行设置的,即分别是两个复选框的Caption属性值。
(2)Alignment属性:用于设置复选框中文字的对齐方式。
(3)Style、DisabledPicture、DownPicture和Picture属性:作用和使用方法与命令按钮相同。
(4)Value属性:用于判断复选框是否处于被选中状态。
除上述属性以外,复选框还有许多其它属性,其作用和用法可参考其它控件的同名属性。
复选框的常用方法有Move、Refresh和Setfocus,其调用方法可参单选按钮对象的同名方法。
复选框最常用的事件为Click事件,程序运行时,用鼠标单击复选框时,引发该事件。单击复选框时,如果该复选框原来处于未选中状态,单击后将变成选中状态,同组的其它复选框仍保持原来的状态;如果该按钮原来处于选中状态,单击后将变成未选中状态,同组的其它复选框仍保持原来的状态。注意和单选按钮的区别。 滚动条控件(HscrollBar和VscrollBar)
利用滚动条控件可对与其相关联的其它控件中所显示的内容的位置进行调整。VB的控件工具箱中有水平滚动条(HscrollBar)和垂直滚动条(VscrollBar)两种形式的控件。水平滚动条进行水平方向的调整,垂直滚动条进行垂直方向的调整,两种滚动条也可同时使用。两种滚动条除外观不同,作用和使用方法是相同的,下面将以水平滚动条为例,介绍滚动条的属性、方法和事件。
程序运行时,水平滚动条在窗体上的外观如图2.12所示,滚动条两端带箭头的按钮称之为滚动箭头,两滚动箭头之间的部分称之为滚动框,滚动框中可以左右移动的滑块称之为滚动滑块。小幅度的调整通常通过单击或连续单击滚动箭头来实现,如果要进行较大幅度的调整,可用鼠标单击或连续单击滚动框,如果要进行快速调整,则可拖动滚动滑块。

图2.12 水平滚动条的外观和结构
1.常用属性
(1)Value属性:返回一个与滚动滑块位置对应的值。在程序代码中,将该属性值和其它容器中的对象的坐标有机地联系在一起,即可实现容器中的对象位置的调整。
(2)Min属性:规定Value属性的最小取值,即当滚动滑块在滚动框最左端时,Value属性的值。
(3)Max属性:规定Value属性的最大取值,即当滚动滑块在滚动框最右端时,Value属性的值。
(4)SmallChange属性:用于设置程序运行时,鼠标单击滚动箭头一次,Value属性值的改变量。
(5)LargeChange属性:用于设置程序运行时,鼠标单击滚动框一次,Value属性值的改变量。
注意:Value属性值的变化范围不能超出由Min属性和Max属性两者规定的范围。
滚动条还有许多其它属性,其作用和用法可参考其它对象的同名属性。
滚动条可以调用Move、Refresh等方法,但很少使用。
2.常用事件
(1)Scroll事件:程序运行中,用鼠标拖动滚动滑块时,引发该事件。
(2)Change事件:程序运行中,用鼠标单击滚动箭头或滚动框,滚动滑块移动到目标位置后,引发该事件。
用Scroll事件可以跟踪滚动条的Value属性的动态值,而用Change事件获取的是滚动条的Value属性变化后的值。设计程序时,如果希望拖动滚动滑块,对象中的文本或图形即时跟着移动,可使用Scroll事件;如果希望滚动滑块移动后,对象中的文本或图形位置再发生改变,则可使用Change事件。
计时器控件(Timer)
通过计时器控件,系统可按设定的时间间隔有规律地触发定时事件。一个程序界面上,可根据程序需要,放置多个计时器对象,计时器对象在程序界面上的大小是固定的,不能进行调整;运行时,计时器对象在程序界面上是不可见的。
计时器对象相当于一个时钟,程序运行时,每经过一个设定的时间间隔,该对象就会引发一个计时事件,因此对于按照时间间隔规律,需要反复执行的代码可通过计时器引发计时事件来执行。
常用属性和事件
(1)Interval属性:用于设置时间间隔。单位为毫秒。
(2)Enabled属性:用于设置计时器对象是否引发计时事件。设置为True时,计时器对象按设定时间间隔不断引发计时事件,设置为False时,计时器对象终止引发计时事件。
(3)Timer事件:当计时器对象的Enabled属性设置为True,Interval属性设置为非0(大于0)时,计时器对象每经过一个设定的时间间隔,引发一次该事件。
计时器应用示例
控件布局
设计VB应用程序界面时,将对象添加到窗体上仅仅完成了界面设计的基本工作,接下来还必须对各个对象的位置、大小、对象间的间距等进行调整,对窗体上的所有对象进行整体布局,这样才能设计出美观的程序界面。
一、调整控件对象的位置和大小
调整控件对象的位置和大小最简单的方法是:先用鼠标单击要调整的对象,这时对象周围将出现八个兰色小方块(称为“拖拽柄”),表示该对象处于选中状态,接下来如果要移动对象,只要将鼠标移至该对象上,按住鼠标将对象拖至目标位置,然后松开鼠标即可,如果要调整对象的大小,可将鼠标移到对象相应的“拖拽柄”上,然后按住鼠标进行拖放。
除了使用鼠标进行调整以外,也可以使用键盘上的“Ctrl”、“Shift”和方向键对控件对象的位置和大小进行调整。按住“Ctrl”键的同时,按下相应的方向键可以对对象的位置进行调整;按住“Shift”键的同时,按下相应的方向键可以对对象的大小进行调整。
设计界面时经常会遇到需要同时对一组对象的位置和大小进行调整的情况,这就需要在窗体上同时选中多个对象,具体操作方法是:按住“Shift”键的同时,用鼠标逐个单击需要调整的对象。一组对象同时被选中后,接下来的调整方法同单个对象。
设计界面时要求一组对象高度相同或宽度相同或两者都相同的的情况也会经常遇到,如果采用逐个处理的方法将既费时又费力,最为简单的方法是使用菜单命令进行整体处理。具体操作步骤是:首先在窗体上同时选中要进行处理的各个对象,然后再执行相关的菜单命令,参见图2.13。

图2.13 用菜单命令统一对象尺寸
二、控件对象的对齐
设计界面时经常需要对一组对象进行对齐处理。对齐方式有左对齐、右对齐、中间对齐、顶端对齐等多种方式。遇到这种情况,最为简单的方法是使用菜单命令进行整体处理。具体操作步骤是:首先在窗体上同时选中要进行对齐处理的各个对象,然后再执行相关的菜单命令,参见图2.14。

图2.14 用菜单命令对齐对象
三、控减对象的间距调整
不管界面上的对象是横向排列,还是纵向排列,合理调整对象之间的间距,对于界面的美观都是非常必要的。具体操作时,应首先同时选中需要调整的一组对象,然后对于纵向排列的一组对象,可通过执行“格式”菜单中的“垂直间距”子菜单中的相应命令来调整彼此间的间距(参见图2.15),对于横向排列的一组对象,可通过执行“格式”菜单中的“水平间距”子菜单中的相应命令来调整彼此间的间距。

图2.15 调整对象间的间距
“学生档案查询界面”设计视频
课后作业
1、控件的使用户能够移动控件并调节其大小。
A. 拖曳柄   B. 标题栏   C. 工具箱   D. 工程资源管理器
2、将命令按钮的什么属性设置为True,当用户按下“Esc”键时可以激发对应命令按钮的Click事件。
3、在代码编辑中有命令按钮的CmdOK_Click() 事件,则命令按钮的名称是什么?
4、使用什么方法可以将新的项添加到一个列表框中?
5、使用什么属性,可取得列表框中项数?
6、如果单击一个当前没有被选中的复选框,则复选框组中其它已被选中的复选框会处于什么状态?
7、针对下列程序代码,说法正确的是。
Text1.Top=2000
Text1.Left=800
A. Text1对象左边界距窗体的左边界800twip,上边界距窗体的上边界2000twip
B. Text1对象左边界距屏幕的左边界800twip,上边界距屏幕的上边界2000twip
C.Text1对象的高度为800twip,宽度为2000twip
D.Text1对象的高度为800点,宽度为2000点
8、以下说法正确的是。
A. 默认情况下属性Visible的值为True
B. 如果设置控件的Visible属性值为False,则该控件消失
C. Visible的值可设为0或1
D. 设置Visible属性同设置Enabled属性的功能是相同的,都是使控件处于失效状态
9、如果设置窗体的ControlBox属性值为False,则。
A.窗口边框上的最大化和最小化按钮失效
B.ControlBox仍起作用
C.窗口边框上的最大化和最小化按钮消失
D.运行时还可以看到窗口左上角显示的控制框,可以单击该控制框进行窗体的移动,关闭等操作
10、实现图片框的大小自动适应图像大小,应将图片框的什么属性设置为True?
11、VB程序运行时,单击窗体可将窗体的前景色设为红色的代码段是。
A.Private Sub Form_Click()
Form1.BackColor=vbRed
End Sub
B.Private Sub Form_Click()
Form1.ForeColor=vbRed
End Sub
C.Private Sub Form_Click()
BackColor=vbRed
End Sub
D.Private Sub Form_Click()
ForeColor=vbRed
End Sub
12、在VB中,修改窗体的哪几个属性的值,可改变窗体的大小?
13、如果希望文本框中的文本处于不能被编辑状态,应该将文本框的什么属性设置为True?
14、下面哪一个不是标签控件的方法。
A. Refresh        B. SetFocus
C. Drag         D. Move
15、下面控件没有Picture属性。
A. 复选框    B.单选按钮    C. 标签    D. 命令按钮
16、通常用什么控件将窗体上的对象进行分组?
17、什么属性用于自动调节图像框控件中的图形内容大小?
18、在程序运行期间什么函数可以将图形装入窗体、图片框或图像框。
19 、与List1.Text属性相同的是。
A. List1.ListCount    B. List1.List(ListCount-1)
C. List1.ListIndex    D. List1.List(List1.ListIndex)
20、单击滚动条的滚动箭头时,产生什么事件?
21、当滚动滑块位于滚动框最左端或最上端时,Value属性被设置为。
A. Max    B. Min    C. Max和Min之间    D. Max和Min之外
22、当在滚动框中拖动滚动滑块时,产生什么事件。
23、为了使计时器控件每隔5秒种产生一个计时事件,则应将Interval属性设置为多少?