1、第3章 Visual Basic程序的 界面设计,制作者:钱瑛,本章的学习重点和难点,对象的功能和使用场合 对象的主要属性、方法和事件 合理选用对象和窗体布局,课件内容,作业解答,常用控件,PictureBox图片框,TextBox文本框,CommandButton命令按钮,OptionButton选项按钮,ListBox列表框,Vscroll垂直滚动条,Label标签,Frame框架,CheckBox复选框,ComboBox组合框,Hscroll水平滚动条,Timer计时器,Shape形状,Line线条,Image图像框,3.1 公共属性,定制窗体(或其他对象)属性的方法 在设计态通过属性窗
2、口为其设定各种属性值 必须先选中对象,后设置属性;在属性窗口列出的属性中大多可采用系统缺省值 在程序代码中改变属性值 对象名.属性名 = 属性值当程序运行,执行完以上代码行时,会将等号左边对象的相应属性值设置或更改为等号右边的属性值,3.1 公共属性,Name名称属性 标识引用对象的作用(所有对象都具有的属性) 每个对象在创建时,VB就自动为它创建一个默认名称(对象类名后跟编号,编号从1开始,依次顺延) ;自行命名对象的命名规则:必须以一个字母或汉字开头,可包含字母、数字、汉字和下划线,但不能包含空格和西文标点符号,长度不得超过40个字符 在同一窗体中,控件对象的名称属性值是唯一的、不能同名,
3、在同一工程中,窗体对象也不能同名 设计态时,通过属性窗口设置Name属性;在程序运行时,它是只读的,不能改变,3.1 公共属性,Caption标题属性 该属性是对象上或标题栏上显示的内容,往往在外观上起到提示和标志的作用 在设计态和程序运行时,均可修改该属性值 注意它与Name属性的区别,NameCaption,3.1 公共属性,Enabled活动属性 决定对象是否响应 用户或系统事件 缺省值为“True”,表示可以响应用户或系统的事件;当设置为“False”,表示禁止该对象响应事件,往往在程序运行时控件对象呈暗淡色 除了几何图形、直线控件外,所有对象均有Enabled属性,Enabled属性
4、为TrueEnabled属性为False,3.1 公共属性,Height、Width、Top和Left大小、位置属性 Height、Width属性分别决定对象大小的高度和宽度 Top表示对象到直接容器上边框的距离,Left表示对象到直接容器左边框的距离 单位特维:1twip=1/20点=1/1440英寸=1/567厘米 在默认坐标系统,把该对象所在的直接容器的左上角顶点作为坐标原点,该对象的Left和Top属性值则是该对象左上角顶点相对于坐标原点的X、Y坐标 示意图,Top,Height,Left,Width,对象大小、位置属性示意图,(0,0),3.1 公共属性,Visible可视属性 决定
5、对象在程序运行时是否可见 缺省值为“True”表示可见,“False”表示对象存在,但对象隐藏、不可见 Font系列字体属性 FontName字体类型 FontSize字体大小 FontBold粗体 FontItalic斜体 FontStrikethru加删除线 FontUnderLine加下划线 例题3-1,例题3-1,在窗体上建立一个标签,名称为Label1,运行时单击窗体界面如图所示,Private Sub Form_Click()Label1.Caption = “欢迎您使用VB!“Label1.FontName = “隶书“Label1.FontSize = 24Label1.Fon
6、tBold = TrueLabel1.FontItalic = TrueLabel1.FontStrikethru = TrueLabel1.FontUnderline = True End Sub,实例演示,3.1 公共属性,Font系列字体属性 对于不同的对象可以分别设置不同Font属性,若要为窗体中所有控件对象设置相同Font属性,可以先对窗体设置Font属性,而后再创建的控件对象在缺省情况下都自动采用窗体的Font属性值,除非用户再自行设置,3.1 公共属性,ForeColor、BackColor、BackStyle属性 设置对象上显示文本或图形的前景颜色和背景颜色 ForeColor
7、前景颜色;BackColor背景颜色;其值是一个16进制的常数;通常在编写代码时,常用Qbcolor或RGB函数为其设置颜色 BackStyle属性用于设置背景风格。属性值为0时,表示该对象透明显示,即对象的背景颜色BackColor不起作用;属性值为1时,表示对象不透明显示,即此时为对象设置背景色才有效,3.1 公共属性,BorderStyle属性 设置对象的边框风格 属性值为0时,表示对象周围无边框;为1时,表示对象有单线边框 该属性对于某些不同对象而言,还有其他不同的取值和意义,3.1 公共属性,MousePointer、MouseIcon属性 MousePointer设置在运行时鼠标移
8、动到对象上时显示的鼠标指针类型 MousePointer取值在015之间,仅当取值为99时表示用户自定义图标MouseIcon属性起作用,即可用MouseIcon设置自定义的鼠标图标,类型为.ico或.cur 常用的图片在Graphics目录下,3.1 公共属性,ToolTipText提示属性 设置在运行时鼠标暂停在控件上时显示的文本信息,往往起到提示作用 Alignment对齐属性 设置选项按钮、复选框或控件文本的对齐方式 缺省值为0,表示左对齐;若为1,表示右对齐;若为2,表示居中对齐,例题3-2,例题3-2,在例题3-1的基础上,再添加一个标签,通过属性设置,产生如下文字叠影效果,当鼠标
9、移动到标签位置处,鼠标指针形状从默认的箭头变成手形,当鼠标暂停在标签位置处,会出现如图所示的文字提示信息,实例演示,3.1 公共属性,AutoSize、WordWrap属性 AutoSize属性决定控件是否能够自动调整大小以显示控件上的整个内容 WordWrap属性值为True,表示控件能按照文本和字体大小在垂直方向上改变显示区域的大小,在水平方向上不发生变化;值为False,表示控件能在水平方向上按正文的长度放大或缩小,在垂直方向上以字体大小来放大或缩小显示区域 仅当AutoSize属性为True时,WordWrap属性才有效,实例演示,3.1 公共属性,TabIndex、TabStop属性
10、 TabIndex属性决定了按Tab键时,对象在其父窗体中得到焦点的顺序 “焦点”代表接收用户鼠标或键盘输入的能力。获得焦点称为聚焦,当对象获得焦点时,才可接收用户的输入。在Windows界面下,任何时刻可运行多个应用程序,但只有一个包含“聚焦”窗口的应用程序才是当前活动程序;同样在一个有多个文本框所构成的窗口中,只有具有焦点的那个文本框才能接收用户的输入 若要改变Tab顺序,即对象在其父窗体中得到焦点的顺序,可以直接修改对象的TabIndex属性的值,3.1 公共属性,TabIndex、TabStop属性 系统会根据控件创建的次序为大部分控件(除Menu、Timer、Data、Image、L
11、ine和Shape等)分配一个Tab顺序,并将此次序号保存在TabIndex属性中。在缺省情况下,第一个创建的控件TabIndex属性值为0,第二个为1,依次类推。在程序运行时,按Tab键就按照TabIndex属性值中的递增次序在各个控件上循环移动焦点 运行时,对于不可见或被禁用的控件以及某些不能接收焦点的控件(如Frame和Label等控件)仍保持在Tab键次序中,但利用Tab键切换时会自动跳过这些控件。而对于那些原本可以接收焦点的对象,则可以通过设置TabStop属性值为False,达到此效果,小结,不同类的对象可以有一些相同的属性,但是有些属性并非所有对象都有,可能是该对象特有的 属性的
12、设置可以在设计时通过属性窗口设置,也可通过代码窗口在编程时设置 属性窗口并未列出该对象的所有属性,只列出设计态属性,而有一些是只能在程序代码中使用的运行态属性,当然也有一部分属性在运行时是只读的,3.2 窗体,窗体是VB最重要的对象,它用于创建VB应用程序的用户界面或对话框,是包容用户界面或对话框所需的各种控件对象的容器 在创建新工程时,VB会在窗体设计器中自动新建一个空白的窗体,要求以它为起点创建程序 一个应用程序通常包含多个窗体,其中应有一个窗体作为程序的启动窗体,也就是运行程序时首先出现的窗体。系统默认第一个窗体,即属性Name为Form1的窗体为启动(起始)窗体。用户也可使用工程菜单工
13、程属性,自定义设置起始窗体,3.2 窗体,3.2.1 窗体的主要属性 Name:窗体名称 系统为应用程序的第一个窗体缺省命名为Form1,在程序代码中通过引用窗体名称以识别和访问不同的对象 Caption:窗体标题 窗体标题是出现在窗体标题栏的文本内容。缺省使用窗体名的缺省值 Picture:用于设置窗体中显示的图片 Form1.Picture = LoadPicture(“D:GraphicsBEANY.bmp“) Form2.Picture = Form1.Picture,3.2 窗体,3.2.1 窗体的主要属性 ControlBox和Icon ControlBox属性值取True或Fal
14、se,表示窗体左上角是否有控制菜单框 仅当ControlBox属性值取True,Icon属性设置才有效,可为窗体最小化自定义一个显示图标 当ControlBox属性值取False,则无控制菜单框,这时,系统将MaxButton和MinButton属性自动设置为False BorderStyle:窗体边框风格 该属性对于窗体对象在运行是只读。当BorderStyle设置为除2以外的值时,系统将MaxButton和MinButton属性设置为False。常常利用对该属性的设置,来设计不同的窗体形式,3.2 窗体,3.2 窗体,3.2.1 窗体的主要属性 WindowsState:设置窗体执行时的显
15、示状态 WindowsState属性取值为0表示有窗口边界的正常窗口状态,1表示以图标方式显示的最小化状态,2表示无边框充满整个屏幕的最大化状态,3.2 窗体,3.2.2 窗体的主要方法 Print:打印方法(用于将文本输出到对象上) 调用格式:对象名.Print 输出项列表; | , 对象除了可以是窗体外,还可以是图片框(PictureBox)、Debug或打印机(Printer),若缺省对象名,表示将文本输出到当前窗体上 输出项列表:是由0个、1个或多个待输出的数值表达式或字符串表达式构成;当输出项是由多个项构成,则中间必须用逗号或分号分隔;若Print后什么都不跟,则表示输出一个空行 F
16、orm1.Print 1, 2, 3 Print 1, 2, 3 Picture1.Print 1, 2, 3,Form1.Print Print Picture1.Print,3.2.2 窗体的主要方法 Print:打印方法 例题3-3 调用格式:对象名.Print 输出项列表; | , ;(分号)和,(逗号)分隔符:用于分隔前后两个输出项,并指定分隔符后的下一个输出项的输出位置 分号(;)表示下一个输出项将以紧凑格式,紧跟着上一个输出项输出,中间没有空格 逗号(,)表示采用标准格式,下一个输出项将在下一个打印区(每隔14列开始一个打印区,每列的宽度是所有字符的平均宽度)的起始位置输出 Pr
17、int 1, 2, 3 Print “We”;“study”;“VB”,3.2 窗体,标准格式紧缩格式,Print 1, 2, 3 Print “We“, “study“, “VB5.0“ 运行结果1 -2 3 We study VB,标准格式,Print各数据分别存储在各自的标准输出区内,数据之间留有一定的空格字符,数据划分非常明显(读取数据容易) 对于一个数值型数据,前面有一个符号位(对于正号,不显示但留有一个空格),数据后留有一个空格作为分隔符,Print 1; 2; 3 Print “We“; “study“; “VB5.0“ 运行结果1 -2 3 WestudyVB,紧缩格式,Pri
18、nt各数据紧凑地显示,节省空间 对于一个数值型数据,前面有一个符号位(对于正号,不显示但留有一个空格),数据后留有一个空格作为分隔符 对于字符串数据,输出的各字符串数据间没有空格而连成一片,造成读取数据的困难,例题3-3,用Print方法的标准和紧凑格式输出数据,请写出程序运行结果,Private Sub Form_Click()Print “标准格式“Print “数值“, 123,Print “字符“, “VB“PrintPrint “紧缩格式“Print “数值“; 123;Print “字符“; “VB“PrintPrint “标准和紧缩格式混合使用“Print “数值“; 123,
19、“字符“; “VB“ End Sub,3.2.2 窗体的主要方法 Print:打印方法 例题3-4 调用格式:对象名.Print 输出项列表; | , 调用Print方法打印输出的位置是由对象的绘图坐标CurrentX和CurrentY属性决定的,默认为对象的左上角(0,0) 定位输出函数: Spc(n):可选的。在显示或打印列表中的下一个输出项前插入n个空格,从而实现对输出进行定位 Tab(n):可选的。用来将输出定位在绝对n列号上,使用无参数的Tab()表示将输出定位在下一个打印区的起始位置,3.2 窗体,例题3-4,用Print方法和定位函数输出数据 Spc(n):下一个输出项前插入n个
20、空格 Tab(n):输出定位在绝对n列号上,Private Sub Form_Click()Print Tab(8); “A“Print Tab(6); “B“; Spc(2); “B“Print Spc(3); “C“; Spc(2); “C“; Spc(2); “C“Print Tab(2); “D“; Spc(2); “D“; Spc(2); “D“; Spc(2); “D“ End Sub,3.2 窗体,3.2.2 窗体的主要方法 Cls:清屏方法 调用格式:对象名.Cls 清除运行时在对象中用Print和图形方法创建的文本和图形,同时将绘图坐标CurrentX和CurrentY属性恢
21、复到原点(0,0) 对象可以是窗体或图片框,对象名缺省时,表示清除当前窗体 Form1.Cls Cls Picture1.Cls,3.2 窗体,3.2.2 窗体的主要方法 Show和Hide:分别用于显示和隐藏窗体 调用格式:窗体名.Show Style窗体名.Hide 窗体名缺省,表示显示或隐藏当前窗体 Show方法的Style参数决定窗体是有模式的(vbModel)还是无模式的(vbModeless)。有模式的窗体不允许用户同时与应用程序的其他窗体交互,无模式窗体则允许,Style缺省值是无模式的 Form1.Show Form1.Hide Show Hide,3.2 窗体,3.2.2 窗
22、体的主要方法 SetFocus:设置焦点 Move:移动方法(除时钟和菜单外) 对象名.Move 左边距离,上边距离,宽度,高度 如果对象是窗体,则“左边距离”和“上边距离”以屏幕左边界和上边界为准,否则以窗体的左边界和上边界为准,给出宽度和高度表示可以改变大小 PrintForm:打印窗体方法 Refresh:刷新方法,3.2 窗体,3.2.2 窗体的主要事件 Click(单击)事件:当用户单击窗体时触发本事件 DblClick(双击)事件 :当用户双击窗体时触发本事件。“双击”实际上触发两个事件,第一次按鼠标按钮时产生Click单击事件,第二次按鼠标按钮时产生DblClick事件 Init
23、ialize(初始化)事件 :在窗体被加载(Load)之前,窗体被配置的时候触发 Load(装载)事件 :VB把窗体从磁盘或从磁盘缓冲区读入内存时触发本事件。Load事件往往用于在启动程序时对属性和变量进行初始化 Resize事件:在窗体被改变大小时,会触发本事件,3.2 窗体,3.2.2 窗体的主要事件 Paint(绘画)事件:当窗体被移动或放大时,或者窗体移动时覆盖了一个窗体时,触发本事件 Activate(激活)事件:当窗体变为激活的当前窗口时,引发本事件 Deactivate(失去激活)事件:当窗体失去激活状态,即另一个窗体成为当前窗口时,引发本事件 GotFocus事件:在窗体成为当
24、前焦点时触发本事件 LostFocus事件:在窗体失去当前焦点时触发本事件 QueryUnload、Unload(卸载)事件:当关闭窗体时,依次触发卸载事件,将窗体从内存中卸载。当窗体被卸载后又重新装入,则窗体中所有控件都将重新初始化,3.2 窗体,3.2.2 窗体的主要事件 学习对象的事件,主要是了解事件什么时机被触发,从而有助于选择在哪一个事件过程中编写代码 了解和掌握窗体的事件触发时机和次序 例题3-5,例题3-5,实例演示 在运行一个VB应用程序时,先发生启动窗体的Initialize事件,紧跟着是Load事件,将窗体装入内存之后,窗体被激活时,Activate事件发生。这三个事件是在
25、一瞬间就完成的 对于窗体的Initialize和Load事件都是发生在窗体被显示之前,所以经常在事件过程中放置一些命令语句来初始化应用程序,但所用命令语句是有限的,例如:“对象名.SetFocus”一类的语句就不能使用,而Print语句仅当Form的AutoReDraw属性值为真时,在Load事件中才有效,例题3-5,对于GotFocus事件,分两种不同情况: 如果窗体上没有能聚焦的控件,那么该窗体在Activate事件发生之后立即触发GotFocus事件 如果窗体上有能聚焦的控件,那么该控件的GotFocus事件发生,而不是窗体 有时应用程序有多个窗体构成时,当Form1由当前窗体变成非当前
26、窗体时,若窗体是焦点,会先引发LostFocus事件,后引发Deactivate事件。当该窗体再次成为当前窗体时,只要该窗体加载完毕后,没有被卸载,就不会触发Load事件,但会触发Activate事件,例题3-5,VB程序在执行时会自动装载启动窗体,在使用Show方法显示窗体时,也会自动将尚未载入内存的窗体装入内存,并引发窗体的Load事件。若想将窗体(或其他对象)载入内存,但并不显示它,则可以使用装载语句 装载语句的格式:Load 对象名 VB程序在调用Hide方法,仅仅是将窗体暂时隐藏,这不同于卸载。卸载将使该对象的所有属性重新恢复为设计态时设定的初始值;卸载还将引发对象的卸载事件。如果卸
27、载的对象是程序唯一的窗体,则将终止程序的运行。可以使用卸载语句把窗体(或其他对象)从内存卸载 卸载语句的格式:Unload 对象名 对象名可以是Me,表示当前窗体,例题3-5,在Windows下,用户可通过使用菜单中的“关闭”命令或单击应用程序窗口上的“关闭”按钮来关闭窗口,并结束程序的运行。 由程序来控制其结束,而不是由用户的操作来控制时,在程序代码中可使用End语句 End 执行该语句将终止应用程序的执行,并从内存卸载所有窗体,3.3 文本控件,文本控件主要用于显示文本信息 标准控件 标签 文本框,3.3 文本控件,3.3.1 标签(Label) 主要用于在窗体上增加文字说明 标签控件在程
28、序运行时不具有交互性,即标签内容只能通过Caption属性来设置或修改,不能由用户在程序运行时直接编辑 主要属性 Name(名称)、Caption(标题属性即为标签所显示的文本内容)、Alignment(对齐属性)、AutoSize(大小自适应属性)、BackStyle(背景风格属性)等 方法:Refresh(刷新)、Move(移动) 事件:Click(单击)、DblClick(双击)等,3.3 文本控件,3.3.2 文本框(TextBox) 主要用于接收用户在框内输入以及编辑、修改的信息,或显示由程序提供的信息 在程序运行中,具有良好的交互性 主要属性 主要方法 主要事件,3.3.2 文本框
29、(TextBox),主要属性 Name(名称):文本框名称 Text(文本):文本框不具有Caption属性,用户从文本框输入和编辑、修改的文本内容就保存在Text属性中,常常通过获取该属性值来获取用户输入或编辑的数据。Text属性的文本内容最多为2048个字符,除非MultiLine属性True,则可输入多达32KB的文本。 Locked:决定文本框是否可以被编辑修改,若取值为True,表示此时文本框中的内容是只读的、不具有交互性,类似于标签,经常用于创建只读文本框,3.3.2 文本框(TextBox),主要属性 MaxLength(最大长度):缺省值是0,表示文本框可接受任意个数的字符,否
30、则,文本框只接受MaxLength属性设定的字数。在VB中字符的长度以字为单位,即一个西文字符与一个汉字都是一个字,长度为1 PasswordChar(口令):缺省值为空,表示正常显示输入的字符;如该属性的值为某个字符(*),则表示本文本框用于输入口令,用户输入的内容仍保存在Text属性中,但输入的每个字符将被代换为PasswordChar属性设定的字符显示在文本框中。PasswordChar和MaxLength属性配合,常用于创建口令(密码)文本框,3.3.2 文本框(TextBox),主要属性 MultiLine(多行):属性值为“True”(真),则可输入和显示多行文本;若为“False
31、”(假),则只能输入一行文本。该属性不能在程序中改变,当本属性为“True”时,PasswordChar属性设置则无效 ScrollBars(滚动条):缺省值为“0”(无滚动条);若该属性设置为“1”,表示有水平滚动条;若为“2”,表示有垂直滚动条;若为“3”,表示水平与垂直滚动条两者都有。本属性只有在MultiLine属性为“True”时才有效,3.3.2 文本框(TextBox),主要属性 SelStart、SelLength和SelText属性:在程序运行中,用于控制文本框中的插入点和文本选定操作 SelStart属性决定选定文本的开始位置,第一个字符位置是0 SelLength属性决定
32、选定文本的长度 SelText属性设定或存放由前两个属性选定的文本内容 Text1.SelStart = 1 Text1.SelLength = 3 Text2.Text = Text1.SelText,3.3.2 文本框(TextBox),主要方法 SetFocus:设置焦点,本方法可使指定的文本框(或其他有聚焦能力的对象)成为焦点,也就是当前文本框,成为焦点的文本框中具有闪动的光标 Refresh:刷新,3.3.2 文本框(TextBox),主要事件 KeyPress:当用户按下或松开键盘上某个按键时,发生本事件 Change:当文本框的Text属性,即文本的内容发生变化时,就引发本事件
33、LostFocus:当文本框失去焦点时,引发本事件 一般经常用以上三个事件过程中设置代码,来实现对输入文本框中的内容进行检查、验证和确认 GotFocus:当文本框得到焦点时,引发本事件 例题3-6 例题3-7,例题3-6,程序运行时,通过用户输入,同步设置窗体的标题,即用户输入什么,窗体标题就同步显示什么 分析: 接收用户输入文本框 用户输入的内容保存在文本框的Text属性中 窗体的标题与文本框内容一致赋值将文本框内容Text赋予窗体的标题属性Caption 同步显示文本框Change事件 实例演示,Private Sub Text1_Change()Form1.Caption = Text
34、1.Text End Sub,例题3-7,一个简单的登陆窗口,要求输入学号(必须由6位数字字符构成)、口令(studyvb6),按回车键结束输入,若学号、口令输入正确,显示正确登陆信息,并清空文本框,等待下一次登陆,否则,显示不正确信息,并自动选定文本,等待用户重新输入 分析: 接收用户输入文本框 用户输入的内容保存在文本框的Text属性中 验证输入文本框中的内容是否正确文本框KeyPress、 LostFocus事件 清空文本框Text属性设置为“ 自动选定文本SelStart、SelLength和SelText属性,实例演示,3.4 命令按钮(CommandButton),命令按钮在VB应
35、用程序中是使用最多的控件对象之一,用户用鼠标单击命令按钮,用来启动、中断或结束某个任务,它是用户和程序交互最简单的方法。但具体产生的动作则由相应的单击事件过程中的程序代码决定,主要属性 主要方法 SetFocus:设置焦点。设置为焦点的按钮在其表面有一个虚边框 主要事件,3.4 命令按钮(CommandButton),主要属性 Caption(标题):属性值是显示在按钮上的文字,“关闭“ 创建命令按钮的访问键快捷方式: &访问键 运行时,同时按下Alt+访问键,即可触发命令按钮的单击事件 “&Close“ 若不创建访问键,但需要在标题中包含“&”连字符,则应设置连续的两个连字符 “Add&Mi
36、nus“,3.4 命令按钮(CommandButton),主要属性 Default(确定):每个窗体可选择一个命令按钮作为默认的确认按钮,即不管窗体上目前哪个控件对象具有焦点,只要用户按“Enter”回车键,就等同于单击该命令按钮;指定该默认的确认按钮,只需将其Default属性值设为“True”(真) Cancel(取消):每个窗体可选择一个命令按钮作为默认的取消按钮,只需将这个命令按钮的Cancel属性设为“True”,则不管目前窗体的哪个控件对象具有焦点,按“Esc”键即等同于单击本按钮 Enabled(活动):决定按钮是否响应用户或系统事件 实例演示,3.4 命令按钮(CommandB
37、utton),主要属性 Style(风格):缺省值为“0”,表明按钮的风格为标准格式,即按钮表面显示Caption属性设置的文本;若设为“1”,则为图形风格,按钮上显示图形 Picture (图片) :设置按钮上显示的图形(.bmp或.ico) 复选框和选项按钮控件也具有这两个属性 DisabledPicture与DownPicture:分别用于设置按钮无效时与按钮处于按下状态时显示的图形 Value:在运行态,若将命令按钮的Value属性值由默认的False设置为True,则会触发命令按钮的单击事件,3.4 命令按钮(CommandButton),主要事件:最基本最重要的鼠标单击事件Clic
38、k 在实际编程时,常常利用命令按钮的单击事件,编写一些代码完成所需的具体操作,例如:计算、清除、关闭等 在程序运行时触发命令按钮单击事件的情况 用鼠标单击按钮 按Tab键或调用SetFocus方法,将焦点转移到按钮上,然后按空格键或Enter回车键 使用按钮的访问键(Alt+访问键) 命令按钮的Default属性为True的情况下按Enter回车键;命令按钮的Cancel属性为True的情况下按Esc键 用代码设置命令按钮的Value属性为True,例题3-8,建立一个允许输入、剪切、复制和粘贴的文本编辑程序 分析: 选中文本内容(SelText “ ),才能进行剪切和复制Enabled 剪贴
39、板中的内容可以被反复粘贴,图片按钮Style、Picture 按钮的Click事件过程的编写 实例演示,3.5 选择控件,能直接提供输入选项,方便用户选择录入 标准控件 选项按钮、复选框 列表框、组合框,3.5 选择控件,3.5.1 选项按钮(OptionButton)、复选框(CheckBox)与框架(Frame) 选项按钮和复选框显示选项,供用户从中选择 选项按钮通常成组出现,供用户从中必须选择其中之一且最多只能选取一项,即当用户选中其中一个选项时,同组其他选项会自动失效,就象单选题 复选框可以单个或多个成组出现,用户可以选定任意数目的选项,也可以什么都不选,选项间无任何关联,就象不定向选
40、择题 框架经常用于将其他控件对象按功能组织成一个可标识的组,同时让窗体界面更加整齐有序 实例演示,3.5 选择控件,3.5.1 选项按钮(OptionButton)、复选框(CheckBox)与框架(Frame) 主要属性 Caption:设置选项按钮和复选框的文本注释内容;决定框架的标题名称,若为空,则形成封闭框架框 Value:决定选项按钮和复选框的 选项按钮的Value的取值为True和False,分别表示选中和未选中 复选框的Value的取值有三种:0表示未选中,1表示选中,2变灰表示暂时不能访问 经常利用该属性值的判断和设置选中状态 实例演示,3.5 选择控件,3.5.1 选项按钮(
41、OptionButton)、复选框(CheckBox)与框架(Frame) 主要事件 选项按钮、复选框和框架都能接收Click事件 单击选项按钮或复选框时,会自动改变其选中状态 选项按钮或复选框的GotFocus事件 例题3-9 利用框架将控件分组时,应首先创建Frame控件,然后必须在Frame控件内部创建分组控件,否则无法真正实现功能分组 在Frame控件内部创建的控件和框架是一个整体,将随框架容器一起移动、显示、消失和屏蔽,例题3-9,编写一个简单的字体格式设置程序 分析: 需要哪些控件对象:选项按钮、复选框、框架、标签 用户的选择改变标签字体的变化选项按钮、复选框的Click事件编写代
42、码 如何了解用户的选择判断选项按钮、复选框的Value属性值,Private Sub Check1_Click() 粗体复选框的单击事件If Check1.Value = 1 Then 若粗体复选框选中Label1.FontBold = True 设置粗体ElseIf Check1.Value = 0 Then 若粗体复选框未选Label1.FontBold = False 取消粗体End If End Sub,3.5 选择控件,3.5.2 列表框(ListBox)和组合框(Combol) 列表框和组合框控件通过列表的形式显示多个项目,供用户选择,实现交互。当列表项目很多,无法全部显示,会自动
43、出现垂直滚动条,方便用户浏览选择。 列表框仅能为用户提供选择的列表,不能由用户直接输入和修改其中的列表项内容 组合框是文本框和列表框功能的组合控件,所以用户可以通过在其文本框中输入,来选择列表项 实例演示,3.5 选择控件,3.5.2 列表框(ListBox)和组合框(Combol) 主要属性 List:用于保存和设置每一个列表项内容 在程序中的访问形式 列表框或组合框名.List(列表项序号) 列表项序号是为列表项进行的位置编号,从上至下依次为0、1、2,属性窗口设置List:在添加每个列表项时,按Ctrl+Enter键可以进行下一个列表项的连续添加,按Enter键表示结束设置,List1.
44、List(0) List1.List(1) List1.List(2) List1.List(4),3.5 选择控件,3.5.2 列表框(ListBox)和组合框(Combol) 主要属性 ListCount(运行态属性):当前列表框中列表项总数 通过ListCount-1得到最后一个列表项的序号 ListIndex(运行态属性):其值是最后选中的列表项位置序号,若未选任何项目,则其值为-1 通过对象名.List(对象名. ListIndex)形式访问当前最后选中的列表项的内容 Text:其值等同于List(对象名. ListIndex) 不能直接设置列表框的Text(运行态属性) 组合框的T
45、ext属性值还表示用户直接在编辑区输入的文本,3.5 选择控件,3.5.2 列表框(ListBox)和组合框(Combol) 主要属性 Sorted(排序):取值为True时,按各列表项内容在字母表中的次序排序;否则不排序,即按加入顺序显示 列表框的特有属性 Columns:取值为0时,列表项单列显示,取值大于0时,列表项多列显示 MultiSelect:决定用户是否可以一次选择列表框中多个列表项;取值0禁止多选;1通过鼠标单击或按空格键选定或取消多个列表项;2通过Shift或Ctrl与鼠标或按空格键配合进行扩展选择,3.5 选择控件,3.5.2 列表框(ListBox)和组合框(Combol
46、) 列表框的特有属性 Selected(运行态属性) :当用户同时选中多个列表项时,采用列表框名.Selected(列表项序号)形式,来判断该列表项序号所对应的列表项是否被选中,值为True表示选中,否则“False”表示未选中 SelCount (运行态属性) :取值是用户同时选中多个列表项的数目,Style:控制列表框的外观,取值可以为0(标准形式)和1(复选框形式),3.5 选择控件,3.5.2 列表框(ListBox)和组合框(Combol) 组合框的特有属性 Style (风格属性) : 下拉组合框 简单组合框 下拉列表框 (Style=0) (Style=1) (Style=2),
47、3.5 选择控件,3.5.2 列表框(ListBox)和组合框(Combol) 适用场合 组合框适用于建议性的选项列表,组合框(Style=1或2)包含编辑区域,这时可输入不在列表中的选项 当希望将输入的数据限制在列表选项之内时,应使用列表框或下拉列表框 除简单组合框外,组合框要比列表框节省窗体空间,只有单击组合框的向下箭头时,才显示全部列表,所以经常在窗体布局内容较多的情况下选用组合框替换列表框,3.5 选择控件,3.5.2 列表框(ListBox)和组合框(Combol) 主要方法 AddItem:为列表框和组合框添加列表项 对象名. AddItem 列表项文本内容 ,插入位置序号 若不指
48、定插入位置,则采用追加形式插入到列表尾 该方法一次只能向列表中添加一个列表项 通常在Form_Load事件过程中使用该方法来初始化列表项 RemoveItem:用于删除列表框和组合框中指定位置序号的列表项 对象名. RemoveItem 删除项的序号 该方法一次删除一个列表项,3.5 选择控件,3.5.2 列表框(ListBox)和组合框(Combol) 主要方法 Clear:删除或清空列表框和组合框中所有的列表项 执行Clear方法后,ListCount属性自动重新被设置为0 实例演示,3.5 选择控件,课程的录入 分析 命令按钮的Click事件 AddItem、 RemoveItem、 C
49、lear方法,Private Sub Command1_Click()List1.AddItem Text1.Text End Sub Private Sub Command2_Click()List1.RemoveItem List1.ListIndex End Sub,Private Sub Command3_Click()List1.Clear End Sub,3.5 选择控件,3.5.2 列表框(ListBox)和组合框(Combol) 主要事件 Click:当用户通过鼠标选择列表项时,触发该事件的发生 在该事件中,一般编写有关对选中列表项与其他控件的关联操作 DbClick:适用于列表框和简单组合框 在该事件中,一般编写有关对选中列表项删除或转移到其他控件的关联操作 DropDown:适用于下拉式的组合框和下拉式列表框;用户单击组合框中向下的箭头时,将触发DropDown事件,该事件实际上对应于向下箭头的单击事件,3.5 选择控件,3.5.2 列表框(ListBox)和组合框(Combol) 主要事件 简单组合框和下拉组合框具有一个文本框似的编辑区,所以它们具有类似于文本框的一些事件,例如:Change、KeyPress等事件 例题3-10 例题3-11,