1、第5章 常用标准控件,5.1 文本框和标签 5.2 命令按钮、复选框、单选按钮和框架 5.3 列表框、组合框和滚动条 5.4 图片框、图像框和计时器 5.5 对象命名前缀,5.1 文本框和标签,程序运行中,需要通过键盘接收用户输入的信息,或把有关信息显示在屏幕上。在Visual Basic 中,可以用文本框和标签实现接收信息和显示信息。本节主要介绍文本框和标签的特点和使用方法。文本框用于显示可以进行编辑的文本,标签用来显示不想让其他用户改变的文本。文本框通常用于向计算机输入信息,而标签通常用于输出信息。,1、文本框属性 1)Text 属性 字符型在文本框中显示的正文内容存放在该属性中。当程序运
2、行时,用户通过键盘输入的正文内容,也保存在该属性中。文本框没有Caption属性 2)Maxlength: 数值型 该属性用于限定文本框中可以输入的最大字符数。默认值0表示任意长度值。,是一个文本编辑区域,可以输入,编辑和显示文本。,5.1.1文本框TextBox,3) MultiLine 逻辑型如果将Multiline属性设为False,则在文本框中只能输入单行文本,如果将Multiline属性设为True,则可以使用多行文本,文本自动换行。默认一行. False 4)PasswordChar属性 字符型当MultiLine为False时,该属性可用于口令输入,可以将任何输入的字符以某个特定
3、字符显示,例如,若希望在文本框中显示星号,则可在【属性窗口】中将 PasswordChar 属性指定为 “*” 。这时,无论用户输入什么字符,文本框中都显示星号。,5.1.1文本框TextBox,5)ScrollBars: 数值型 当MultiLine为True时,该属性才有效,可以用来在多行文本框中加入各种滚动条。 0-None:无滚动条 1-Horizontal:水平滚动条2-Vertical垂直滚动条 3-Both水平和垂直滚动条当设置ScrollBars为非0 ,自动换行失效。6)Locked:逻辑型该属性用来指定文本框中的内容是否可被编辑修改。 False,表示为可编辑。7) Ali
4、gnment属性该属性用于设置文本框中文本的对齐方式。,5.1.1文本框TextBox,8)SelStart、SelLength和SelText属性这三个属性都是文本框中对文本的编辑属性。 SelStart:确定在文本框选中文本的起始位置。 SelLength:设置或返回文本框中选定的文本字符串长度,即字符个数。 SelText:设置或返回当前选定文本中的文本字符串。如果没有选中的字符,那么返回值为空。 见【例5.1】,5.1.1文本框TextBox,界面设计,5.1.1文本框TextBox,【例5.1】制作一个登录对话框,界面设计如图所示。程序运行时,在上面的文本框内输入密码,如果输入的文本
5、与预设的密码相同,单击【确定】按钮,则在另一个文本框内显示“密码正确,欢迎你使用本系统!”,否则文本框内显示“密码错误,请重新输入!”,单击【清除】按钮,则清除文本框内的内容。,2. 文本框的事件文本框除响应鼠标的Click和Dbclick事件外,常用的事件有: 1)Change事件当文本框中的内容(Text)发生变化时激发该事件。无论是通过用户输入还是通过代码改变文本框中的内容,都会触发该事件。 2)KeyPress(KeyAscii As Integer): 当用户按下并释放键盘上一个ANSI键时,就会触发一次该事件,并返回一个KeyAscii参数(字符的Ascii值)到该事件过程中。 例
6、如:输入“A”,则KeyAscii的值是65。可用函数 Chr$(KeyAscii) 得到字符“A”。,5.1.1文本框事件,3)LostFocus事件当用户按下Tab键时光标离开文本框,或用鼠标选择其他对象时触发该事件,称为“失去焦点”事件,在控件失去焦点时发生。4)GotFocus事件控件获得焦点时发生,当文本框具有输入焦点时,键盘上输入的每个字符都将在该文本框中显示出来。只有当一个文本框被激活并且可见性为True时才能接收到焦点。 3. 文本框的方法SetFocus(设置焦点) 格式:.SetFocus 功能: 把光标移到指定的文本框对象中。,5.1.1文本框事件,4、说明:1)、利用S
7、etFocus方法可以使对象获得“焦点”2)、用TabIndex属性可以控制当Tab键改变焦点时的移动顺序3)、可以用TabStop属性使某个文本框轮空,界面设计,【例5.2】设计一个如图所示的窗体,在窗体上画两个文本框、两个命令按钮和三个标签,程序运行时,当在其中一个文本框中输入英文字符时,另一个文本框会显示相同的内容,始终第一个文本框会显示小写字母,第二个文本框会显示大写字母。按【清除】按钮,会清除文本框中的内容。按【退出】按钮,退出程序。,例5.3,Option Explicit Private Sub Form_Load()Label1.Caption = “ End SubPriva
8、te Sub Command1_Click() Label1.Caption = “ Text3 = Str$(Val(Text1) + Val(Text2) End Sub Private Sub Command2_Click() Label1.Caption = “ Text3 = Str$(Val(Text1) - Val(Text2) End Sub Private Sub Command3_Click() 乘法 Label1.Caption = “ Text3 = Str$(Val(Text1) * Val(Text2) End Sub,Private Sub Command4_Cl
9、ick() Label1.Caption = “ Text3 = Str$(Val(Text1) / Val(Text2) End Sub Private Sub Command5_Click() 清除 Text1.Text = “ Text2.Text = “ Text3.Text = “Label1.Caption = “ End Sub,例5.4 设计一个程序,当用户输入大写英文字母时,窗体显示“输入正确!”,否则显示“输入有错误,请使用大写字母!”,Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii 90 ThenCls
10、Print “输入有错误,请使用大写字母!“ElseClsPrint “输入正确“End If End Sub,作业1 一个用户身份验证程序,Private Sub Text1_KeyPress(KeyAscii As Integer)Dim pw As String, i As IntegerIf KeyAscii = 13 Then 按回车键后进行密码检验pw = Trim(Text1)If pw = “123456“ Or pw = “198964“ Or pw = “168789“ ThenMsgBox “你的口令正确“, vbInformation + vbOKOnly, “用户身份
11、验证“Elsei = MsgBox(“口令不正确“, vbYesNo + vbQuestion, “提示信息“)If i 7 ThenText1.Text = “Text1.SetFocusElseEndEnd IfEnd IfEnd If End Sub,作业2、根据输入的成绩计算平均分,其格式为保留两位小数,用于显示文本信息,不能作为输入信息的界面。因为标签只能显示文本,不能进行编辑。所以,可以用标签为文本框、列表框和组合框等控件附加描述性信息。,1常用属性 (1)Caption属性该属性用于在标签中显示文本。缺省情况下,当文本超过控件宽度时,文本会自动换行,而当文本超过控件高度时,超出部
12、分将被裁剪掉。,5.1.2 标签Label,(2) Alignment属性设置Caption属性中文本的对齐方式,共有三种可选值:0 左对齐(Left Justify); 1 右对齐(Right Justify);2 居中对齐(Center Justify)。 (3)BackStyle属性该属性用于设置标签背景的显示模式。有两种情况可选:值为0时,表示背景透明,标签后的背景和图形可见;值为1时,表示不透明,标签后的背景和图形不可见。(4) BorderStyle属性该属性用于设置标签有无边框。,(5)AutoSize属性该属性用于设置能否根据Caption属性指定的标题内容自动调整标签的大小。
13、 如果值为True,则随Caption内容的大小自动调整控件本身的大小,且不换行;如果值为False,表示标签的尺寸不能自动调整,超出尺寸范围的内容不予显示。 (6)WordWrap属性此属性只能应用于标签,而且只能在Autosize属性为True的情况下使用。用于设置调整标签大小时的方式。 True: 文本卷绕;Label 控件垂直展开或缩短,以使其与文本和字体大小相适。水平大小不变。 False:(缺省值)文本不卷绕;Label 水平地展开或缩短以使其与文本的长度相适,并且垂直地展开或缩短以使其与字体的大小和文本的行数相适应。,注意 AutoSize属性为False,不管WordWrap属
14、性如何,文本总是要自动换行,若标签不够高而Caption太长时,Caption将被切割掉。 AutoSize属性为True,WordWrap属性为False时,表示可以水平伸展,但只显示一行信息。 如果 AutoSize 和 WordWrap 都设置为 True,标签会垂直伸展、文本将会自动换行,而不会增加 Label 控件的宽度,但有一种情况例外,那就是所输入的一个单词的长度要大于 Label 宽度。此时Label 的宽度将增加到适应这个长单词。,例5.5 在窗体上,放置5个标签,其名称使用默认值Label1Label5,在属性窗口,按下表设置它们的属性,1. 焦点 焦点是指对象接收用户鼠标
15、或键盘输入的能力。 程序运行时,可以用下列方法使对象获得焦点: 用SetFocus方法在代码中设置焦点。对象名.Setfocus 用鼠标单击对象。 Tab键或Shift+Tab在当前窗体的各对象之间巡回移动焦点。 按热键选择对象。,5.1.3 焦点与Tab键序,2. Tab键序TabIndex属性决定控件接收焦点的顺序。当画出第一个控件时,该属性值默认为0,第二个为1,第三个为2。程序运行中按Tab键时,焦点将根据TabIndex属性值所指定的焦点移动顺序移动到下一个控件。TabStop属性决定焦点是否能够停在该控件上。如果为假(False),则运行中按Tab键选择控件时,将跳过该控件,并按焦
16、点移动顺序把焦点移到下一个控件上。,5.2 命令按钮、复选框、单选按钮和框架,5.2.1 命令按钮命令按钮可以说是所有控件中最为常见的,几乎每个应用程序都需要通过它同用户进行交互,命令按钮通常用来在单击时执行指定的操作。启动命令可以有三种方式: 1)鼠标单击; 2)按Tab键焦点跳转到该按钮, 再按回车键; 3) 快捷键(Alt+有下划线的字母) 1常用属性 (1)Caption: 命令按钮显示的内容,可在某字母前加 “&“设置快捷键。例如: &Ok ,显示 Ok(2)Default:当一个命令按钮的Default属性被设置为True时,该按钮为缺省活动按钮,即程序运行时按回车键和单击该命令按
17、钮的效果相同。 注意:在一个窗体只能的一个按钮的Default设置为True。,(3)Cancel:当设置为True时,该按钮为缺省取消按钮,即 程序运行时按Esc键与单击此命令按钮的效果相同。注意:在一个窗体只能的一个按钮的Cancel设置为True (4)Visible: 检查该按钮运行时是否可见。 True,可见;False,不可见。 (5)Style : 确定显示的形式: 0 只能显示文字, 1 文字、图形均可 。 (6)Picture和DownPicture :使命令按钮具有图形背景的两个属性。按钮可显示图片文件(.bmp和.Ico),只有当Style属性值为1时有效。 DownPi
18、cture在控件被单击并处于按下状态时显示的图形。 (7)ToolTipText :设置工具提示,和Picture结合使用。,5.2.1 命令按钮,2. 事件 能够响应的常用事件是Click,MouseDown,MouseUp,命令按钮不支持DblClick双击事件 3. 命令按钮的方法命令按钮的常用方法有:Move,SetFocus方法。 见【例】,5.2.1 命令按钮,例5.6,Private Sub Command1_Click() If Command1.Caption = “显 示“ Then Text1.FontSize = 20 设置文本框显示文本的字符大小(磅)Text1.Te
19、xt = “这是我的第一个VB应用程序“Command1.Caption = “继 续“Command2.Enabled = False 让命令按钮Command2变为不可用 ElseText1.FontSize = 26Text1.Text = “敬 请 赐 教,谢谢!“Command1.Caption = “显 示“ Command2.Enabled = True End If End Sub Private Sub Command2_Click() 同样编写另外事件的过程代码End End Sub Private Sub Form_Load() 设置命令按钮Command2初始状态不能用
20、 Command2.Enabled = False End Sub,例、 文本框为空时,按钮无效,反之有效,Private Sub Text1_Change()If Text1.Text = “ Then 查看文本框是否为空。Command1.Enabled = False 使按钮无效。ElseCommand1.Enabled = True 使按钮有效。End If End Sub,【作业3】窗体界面设计如图所示,程序运行时,用【上】【下】【左】【右】 四个按钮来控制实现窗体的移动,并且保证不移动到屏幕之外。,窗体界面,检查框,5.2.2 复选框(检查框)checkBox,5.2.2 复选框,
21、复选框也称检查框,复选框有两种状态可以选择:选中(或称“打开”,复选框中出现一个“”标志),不选(或称“关闭”,“”标志消失)。如同一个开关一样,每单击一次复选框,它的状态在“打开”与“关闭”之间来回切换,“”标志也在有和无之间切换。 1. 复选框的属性复选框除了具有前面介绍过的Name,Caption,Visible,Enabled,BackColor, FontBold,FontItalic,FontName,FontSize,FontUnderline,Height,left,Top,Width等属性外,常用的还有Value属性 。,Value 复选框的Value 属性值为数值型数据,可
22、取 0 , 1 , 20-Unchecked:未被选定1-Checked:选定2-Grayed:灰色,禁止选择,(2) Alignment 数值型设置复选框在标题的左侧()还是右侧() (3) Style 数值型设置复选框的外观。Style=0,标准复选框的外观,即在一个方框边显示提示信息。 Style=1,其控件类似于命令按钮。单击,被按下未弹起状态,再次单击,恢复原状。,2. 复选框的事件复选框能够响应的最常用的事件是Click事件。用户一般无需为检查框编写Click事件过程,但其对Value属性值的改变遵循以下规则:单击未选中的检查框时, Value属性值变为1 ;单击已选中的检查框时,
23、 Value属性值变为0 ;单击变灰的检查框时,Value属性值变为0。,例5.7 复选按钮例,Private Sub Check1_Click() Text1.Font = “隶书“ End Sub Private Sub Check2_Click() Text1.FontItalic = True End Sub Private Sub Check3_Click() Text1.FontSize = 20 End Sub,Private Sub Check1_Click() If Check1.Value Then Text1.Font = “隶书“ Else Text1.Font = “
24、宋体“ End Sub Private Sub Check2_Click() If Check2.Value Then Text1.FontItalic = True Else Text1.FontItalic = False End Sub Private Sub Check3_Click() If Check3.Value Then Text1.FontSize = 20 Else Text1.FontSize = 12 End Sub,【作业4】编写程序使用复选框实现对文本的字形控 制,界面设计如图1所示。程序的执行结果如图2所示。,图1 界面设计,图2 执行结果,单选按钮,5.2.3
25、单选按钮OptionButton,单选按钮类似于复选框,但又有所不同,如果有多个复选框,可以同时选择多个复选框,每个复选框都是独立、互不影响的。但是在一组单选按钮中,只能选择其中的一个。圆圈中的小黑点表示选中,当选中一项时,将立即清除该组中其他按钮的选择。,1. 单选按钮的属性 (1) Caption:文本标题。设置单选钮的文本注释内容。 (2) Alignment属性:0:Left Justify(缺省)控件钮在左边,标题显示在右边。1:Right Justify 控件钮在右边,标题显示在左边。 (3)Value 属性 返回控件的状态,复选框 0-Unchecked:未被选定 1-Check
26、ed:选定 2-Grayed:灰色,禁止选择,单选按钮 True: 单选钮被选定 False: 单选钮未被选定,缺省设置,单选按钮与复选框Value 属性的比较,(4) Style 属性0-Standard: 标准方式 1-Graphical:图形方式,2. 单选按钮的事件 单选按钮能够响应的常用事件是Click事件。 见【例5.8】 例5.8 单选按钮例,Private Sub Option1_Click() Text1.Font = “宋体“ End Sub Private Sub Option2_Click() Text1.Font = “楷体_GB2312“ End Sub Priva
27、te Sub Option3_Click() Text1.Font = “隶书“ End Sub,Private Sub Form_Click()If Option1.Value Then Text1.Font = “宋体“If Option2.Value Then Text1.Font = “楷体_GB2312“If Option3.Value Then Text1.Font = “隶书“End Sub,【作业5】设计一个程序,如图1所示的窗体,程序运行时,当单击某个单选按钮后,在下面的标签会显示相应的欢迎词,执行结果分别见图2和图3。,图1窗体界面 图2执行结果1 图3执行结果2,3. 使
28、用单选钮组当需在同一窗体中建立几组相互独立的单选钮时,需用框架(Frame)将每一组单选钮框起来,这样在一个框架内的单选钮为一组,它们的操作不影响框外其他组的单选钮。,5.2.4 框架 (Frame),Frame 控件用于将窗体内的控件进行分组,将具有联系的一类控件单独分成一组放置在框架中。,框架内控件的创建方法:为了将控件分组,首先需要绘制 Frame 控件,然后绘制 Frame 里面的控件。方法1:单击工具箱上的工具,然后用出现的“+”指针,在框架中适当位置拖拉出适当大小的控件。不能使用双击工具箱上工具的自动方式。方法2:将控件“剪切”(Ctrl+X)到剪贴板,然后选中框架,使用 (Ctr
29、l+V)命令粘贴到框架内。,1. 框架的属性框架具有前面介绍过的Name,Caption,Visible,Enabled,BackColor,FontBold,FontItalic,FontName,FontSize,FontUnderline,Height,left,Top,Width等许多属性。 1) Caption属性:框架标题 2) Enabled属性:值为False时,标题呈灰色 3) Visible属性:True:框架及其控件可见。False:框架及其控件被隐含起来 2.框架的事件框架常用的事件是Click和DbClick,它不接受用户输入,不能显示文本和图形,也不能与图形相连。,
30、3. 使用框架的注意事项: (1) 要先在窗体上绘制出框架,然后再在框架内部绘制出其中的控件。这样可以保证在移动框架时,其内部的控件也会同时移动。 (2) 如果希望将窗体上已经存在的控件放置到框架内部,可以先将希望放置在框架内部的控件全部选中,使用【剪切】命令将它们剪切到剪贴板上,然后再选定框架,使用【粘贴】命令将它们粘贴到框架内部。 (3) 需要选择框架内部的多个控件时,必须先按住Ctrl键,再使用鼠标拉出虚框将多个控件选定在范围内,然后松开鼠标,范围内的多个控件即可被全部选中。 见【例5.9】,例5.9 根据选择改变文本字体、字形和字号,Private Sub cmdCancel_Clic
31、k()Form_Load 调用窗体的初始化过程 End Sub Private Sub cmdOK_Click()If optSong.Value ThenlblExample.FontName = optSong.CaptionElselblExample.FontName = optHei.CaptionEnd IflblExample.FontBold = chkBold.ValuelblExample.FontItalic = chkItalic.Value 设置字号If optTen.Value ThenlblExample.FontSize = 10ElselblExample.F
32、ontSize = 12End If End Sub,Private Sub Form_Load() 初始化控件的缺省设置optSong.Value = TruechkBold.Value = 0chkItalic.Value = 0optTen.Value = True 初始化字体的缺省设置 lblExample.FontName = optSong.CaptionlblExample.FontBold = chkBold.ValuelblExample.FontItalic = chkItalic.ValuelblExample.FontSize = 10 End Sub,【作业6】设计一
33、个程序,窗体界面设计如图所示,用框架将相关的单选按钮放在一组中,每个框架中放两个单选按钮,一组是用来选择性别,一组是用来选择民族,一组是用来选择是否党员。程序运行时,选择相应的选项,单击【显示】按钮,在下面的标签会显示出选择的结果,结果如图所示。单击【退出】按钮,程序退出。,图界面设计 图 执行结果,5.3.1 列表框 在程序设计中。有时希望能够把较多的项目在个列表中显示出来,从而进行选择操作,列表框控件为用户提供了选项列表的功能。如果项目总数超过了可显示的项目数,Visual Basic会自动为它加上滚动条。列表框有两种风格:标准和复选列表框。通过它的Style属性来设置。,5.3 列表框
34、、组合框和滚动条,5.3.1 列表框(List Box),1. 列表框的属性 (1)Style属性该属性用于确定列表框的外观,只能在设计时确定。在运行时是只读的。当Style=0为标准列表框,当Style=1为复选列表框。(参上页) (2)List属性 可在设计和运行时设置字符型数组,存放列表框的项目数据,下标是从0开始的。例如: List(0)表示第一项的内容 (3) ListCount属性 数值型该属性用于计算列表框中列表项的总个数。List数组中最后一项的下标值即为ListCount -1 。,(4)ListIndex属性 数值型该属性用于显示当前选中的选项在List数组中的下标值。下标
35、值从0开始,以此类推,如果当前没有选中任何选项,则ListIndex的值将被自动设置为-1。 (5)Columns属性 数值型该属性用来确定列表框的列数。此属性值设置为0,所有项目呈单列显示,如果该属性大于或等于1,则列表框呈多列显示。,(6)MultiSelect属性 数值型用于指示是否能够在列表框控件中进行复选以及如何进行复选,在运行时是只读的。,(7)Selected属性该属性返回或设置在列表框控件中某项目是否选中的状态。该属性是一个逻辑类型的数组,数组元素个数与列表框中的项目数相同,其下标的变化范围与List属性相同。选中时,值为True;未被选中,值为False。用下面的语句可以选择
36、指定的列表项或取消已选择的列表项: .Selected(索引值) = True/False 注意:“索引值”从0开始,如果是第三项,那么索引值是 2 ,如果是第十项,那么索引值是 9 ,以此类推。 例如:List1.Selected(0)=True表示列表框List1的第一个项目被选中,此时ListIndex的值设置为0。Selected属性在设计时是不可用的,即无法在属性窗口中设置属性值。,(8)Text属性 字符型该属性用于显示最后一次选中的选项的内容。Text属性的返回值总与List(ListIndex)的值相同。 (9)Sorted属性返回一个逻辑值,当Sorted属性为True时列表
37、框控件或组合框控件的项目自动按字母数字顺序(升序)排序,为False时项目按加入的先后顺序排列显示。该属性只能在设计时设置,不能在程序代码中设置。 (10)SelCount(选中项目数量):只有当 MultiSelect 属性值为1或2时,本属性才起作用,用来读取列表框中所选项目的数目,通常与Selected属性一起使用,以处理控件中的所选项目。,2. 列表框事件 列表框主要接收事件为:Click、DblClick事件。 3. 列表框方法 (1) AddItem方法:该方法用于在程序代码中向列表框中添加一个选项,只能单个地向表中添加项目。 格式为:. AddItem,索引值。选项内容字符串:
38、为字符串表达式,表示要加入的项目。索引值:决定新增项目的位置,缺省,则添加在最后。 例如 list1.AddItem “包头”,2 插入第3项list1.AddItem “上海” 插入末项,(2) RemoveItem方法该方法用于删除列表框中某个指定的项目,此方法每次只能删除列表框中一个选项。 格式为:.RemoveItem 例如 list1.RemoveItem 2 删除第3项list1. RemoveItem list1.listindex 删除当前所选项 例如,要删除列表框(List1)中所有选中的项目,可使用下面的程序段: i = 0Do While i = List1.ListCo
39、unt - 1If List1.Selected(i) = True ThenList1.RemoveItem ielsei = i + 1End IfLoop,(3) Clear方法该方法用于清除列表框中的全部内容,而且ListCount属性的值重新被设置为0。 格式为:.Clear 例如,要删除列表框(List1)中所有项目,可使用:List1. Clear,【作业7】设计一个程序,用以选择用户喜爱的体育项目。界面设计如图所示,其功能是:在左边的列表框中选择一个项目,再单击【添加】按钮,左边的列表框移除相应的项目,在右边的列表框中添加所选的内容。在右边的列表框中选择一个项目,再单击【移除】
40、按钮,在左边的列表框中添加所选的内容,在右边的列表框中移除所选的内容。,界面设计,【作业8 】设计一个程序,程序运行时,如图所示窗体上有两个列表框,左列表框(LstLeft)罗列了一些体育项目,右列表框初始状态为空;单击【-】按钮,可以将左列表框中选定的项目移动到右列表框中;单击【-】按钮,可以将左列表框中的所有内容移动到右列表框中。单击【-】按钮,可以将右列表框中的选定的项目移到左边列表框;单击【-】按钮,可以将右列表框中所有的内容移到左列表框中。,窗体界面,组合框用于将文本框和列表框的功能结合在一起,既允许用户直接输入文本,也允许用户通过列表进行选择。 组合框共三种风格:下拉式组合框、简单
41、组合框和下拉式列表框。由style 属性控制,5.3.2 组合框( ComboBox),1. 组合框属性和方法 (1) Style属性该属性用于设计组合框的外表样式。 (2) Text属性该属性用于获取组合框内列表中的当前选项或者文本编辑区内的内容。可以利用此属性来判断用户选择了组合框中的哪个选项或者输入了什么文本内容。 2.组合框的事件组合框响应的事件依赖于Style属性 当Style=0时,响应Click,Change,Dropdown事件; 当Style=1时,响应Click,Change事件; (接受输入触发Change) 当Style=2时,响应Click, Dropdown事件(单
42、击向下箭头触发Dropdown) 3. 组合框方法组合框使用的常用方法与列表框相同,用AddItem方法添加选项,用RemoveItem方法删除一个选项,用Clear方法删除全部选项。,4.列表框和组合框的Style属性该值用来指示控件的显示类型和行为。在运行时是只读的。列表框控件和组合框控件的Style属性含义是不同的。,可以输入,例5.10 组合框属性设置,Private Sub cmdAdd_Click() 添加功能If Combo1.Text “ ThenFor I% = 0 To Combo1.ListCount - 1If Combo1.Text = Combo1.List(I)
43、Then Exit ForNext IIf I = Combo1.ListCount Then Combo1.AddItem Combo1.TextEnd If End SubPrivate Sub Form_Load() 列表框初始化Combo1.AddItem “chinese“Combo1.AddItem “english“Combo1.AddItem “AutoCAD“Combo1.AddItem “Italin“Combo1.AddItem “american“ End Sub,Private Sub cmdDelete_Click() 删除功能If Combo1.ListIndex
44、 = 0 ThenCombo1.RemoveItem Combo1.ListIndexElseFor I = 0 To Combo1.ListCount - 1If Combo1.List(I) = Combo1.Text ThenCombo1.RemoveItem IEnd IfNext IEnd If End SubPrivate Sub Command3_Click() 清除Combo1.Clear End Sub,例5.11 编写个人资料界面,当点确定时在下边的标签中显示个人资料,Private Sub Command1_Click() Dim Sex As String, Hobby
45、 As StringIf Option1.Value = True Then Sex = Option1.CaptionIf Option2.Value = True Then Sex = Option2.CaptionIf Check1.Value = 1 Then Hobby = Hobby & “ “ & Check1.CaptionIf Check2.Value = 1 Then Hobby = Hobby & “ “ & Check2.CaptionIf Check3.Value = 1 Then Hobby = Hobby & “ “ & Check3.CaptionIf Chec
46、k4.Value = 1 Then Hobby = Hobby & “ “ & Check4.CaptionLabel4.Caption = Txtname.Text & “ “ & Sex & “ “ & Txtage .text& “ “ & Combo1.Text & “ 爱好: “ & Hobby End Sub Private Sub Form_Load()Combo1.AddItem “回族“Combo1.AddItem “汉族“Combo1.Text = “汉族“ End Sub,例5.12 设计一个用于设置字体属性的程序,界面如图所示。,Private Sub cboFontN
47、ame_Click()lblExample.FontName = cboFontName.Text End Sub Private Sub cboFontSize_Change()lblExample.FontSize = Val(cboFontSize.Text) End Sub Private Sub cboFontSize_Click()lblExample.FontSize = Val(cboFontSize.Text) End SubPrivate Sub cmdCancel_Click()lblExample.FontName = “宋体“lblExample.FontSize =
48、 10cboFontName.Text = “宋体“cboFontSize.Text = Str(10) End Sub,Private Sub cmdOK_Click()End End Sub Private Sub Form_Load()Dim i As IntegerFor i = 0 To Screen.FontCount - 1cboFontName.AddItem Screen.Fonts(i)Next iFor i = 8 To 30 Step 2cboFontSize.AddItem Str(i)Next ilblExample.FontName = “宋体“lblExampl
49、e.FontSize = 10cboFontName.Text = “宋体“cboFontSize.Text = Str(10) End Sub,【作业9】设计一个程序,界面设计如图所示,在文本框下有三个组合框,左边的组合框提供了可选的字体,中间的组合框提供了字形的设置,右边的组合框提供了字号的设置。程序运行时,选择组合框内不同的选项,文本框内的文本会有不同的显示效果,执行结果如图3.31所示。,界面设计,执行结果,5.3.3滚动条(Scroll),滚动条用于给自身不具备滚动条的控件提供滚动功能。也可用作数据输入工具,用来提供某一范围内的数值供用户选择 。 分为: 水平滚动条(HScrollbar)垂直滚动条(VscrollBar),1. 滚动条的结构,滚动条的两端各有一个滚动箭头,在滚动箭头之间有一个滚动框。滚动框从一端移至另一端时,其值在不断变化。垂直滚动条的值由上往下递增,水平滚动条的值由左往右递增。其值均以整数表示,取值范围为3276832767,最小值和最大值分别在两个端点。,