2020/1/10清华大学出版社1第7章常用标准控件7.1定时器型7.2单选按钮和复选框7.3框架7.4列表框和组合框7.5滚动条7.6焦点和Tab顺序2020/1/10清华大学出版社2【目的要求】1.掌握定时器的应用2.掌握单选按钮和复选框的属性和应用3.了解框架的应用4.掌握列表框和组合框的应用5.了解滚动条6.了解焦点和Tab顺序【重点】定时器、单选按钮和复选框、列表框和组合框【难点】各控件的应用2020/1/10清华大学出版社37.1定时器7.1.1定时器的属性和事件1.常用属性(1)Interval属性返回或设置定时器控件计时的时间间隔(单位:毫秒)。其有效范围为0~65535。默认值为0,此时定时器无效。(2)Enabled属性定时器是否被激活,它有True或False两种属性值。当其设为True时,定时器被激活。2.常用事件定时器控件最常用的事件就是Timer事件。每经过一个由Interval属性的时间间隔,便会产生一个Timer事件。2020/1/10清华大学出版社47.1.2定时器的应用举例【例7.1】建立一个实时时钟。程序界面设计如图7-2所示,程序运行结果如图7-2所示。在VB中可以用Time函数获取系统的时间。图7-12020/1/10清华大学出版社5在命令按钮【开始】事件过程Command1_Click()中添加如下代码:PrivateSubCommand1_Click()Timer1.Enabled=TrueEndSub在命令按钮【停止】事件过程Command1_Click()中添加如下代码:PrivateSubCommand2_Click()Timer1.Enabled=FalseEndSub在时钟控件的触发事件过程中添加如下代码:PrivateSubTimer1_Timer()Label1.Caption=TimeEndSub2020/1/10清华大学出版社6【例7.2】建立一个文字移动的动画程序。程序运行结果如图7-3所示。分析:文字移动可以利用标签的move属性。如果每隔一段时间就让标签移动一次就能产生动画的效果,用时钟控件的timer事件正好可以实现每隔一段时间执行一次事件过程。用移动量的正负可以实现左右移动。把标签移动的代码写在timer事件过程中就可以实现文字移动的动画效果。图7-32020/1/10清华大学出版社7编写程序代码DimcxAsInteger'定义一个移动增量PrivateSubCommand1_Click()Timer1.Enabled=TrueEndSubPrivateSubCommand2_Click()Timer1.Enabled=FalseEndSubPrivateSubForm_Load()Timer1.Enabled=Falsecx=50EndSubPrivateSubTimer1_Timer()Label1.MoveLabel1.Left+cx'标签移动IfLabel1.Left+Label1.WidthScaleWidthThencx=-50'移到右边时开始向左移动IfLabel1.Left=0Thencx=50'移到左边时开始向右移动EndSub2020/1/10清华大学出版社87.2.1单选按钮单选按钮控件(OptionBotton)通常成组出现,主要用于处理“多选一”的问题。1.常用属性(1)Value属性用于设置单选按钮状态。True表示选定;False表示未选定。(2)Caption属性显示出现在单选按钮旁边的文本。(3)Alignment属性用于设置单选按钮旁边的文本在圆圈的左边或者右边。其值为0或1。值为0时表示控件钮在左边,标题显示在右边;值为1时,反之。(4)Style属性用于设置单选按钮外观。其值为0或1。值为0时为标准样式;值为1时外观类似于命令按钮。7.2单选按钮和复选框2020/1/10清华大学出版社92.常用事件单选按钮控件(OptionBotton)常用事件是Click事件。【例7.3】设计一个程序,界面由一个文本框和两个单选按钮组成,用户单击不同的按钮,文本框中显示相应的结果。程序界面设计如图7-4所示。图7-52020/1/10清华大学出版社10【例】设计如下图所示的界面;当单击某个单选钮,在标签中显示相应的字体。运行结果如图所示。事件过程代码如下:PrivateSubst_Click()Label1.FontName=“宋体EndSubPrivateSubhwcy_Click()Label1.FontName=“华文彩云”EndSubPrivateSubyy_Click()Label1.FontName=“幼圆EndSub2020/1/10清华大学出版社117.2.2复选框复选框(CheckBox)也称检查框,主要功能是从用户处获取“是”或“否”的信息。可以处理“多选多”的问题,与单选按钮一起统称为选项按钮。复选框控件和单选按钮控件功能相似,但是二者存在的主要差别在于:单选按钮控件在使用过程中通常由两个以上的单选按钮组成选项组,而这些单选按钮在同一时刻只能选一个;相反,用复选框控件则可以选择多个数量的控件。2020/1/10清华大学出版社121.常用属性(1)Value属性用于设置复选框状态。复选框Value属性值有3种情况。0-VbunChecked表示未选中(默认值),此时按钮小方框空白;1-VbChecked表示选中,此时按钮小方框有一小对勾;3-VbGrayed表示不确定或不一致,此时按钮为灰色。(2)Caption属性用于设置复选框文本标题。(3)Alignment属性类似单选按钮该属性。(4)Enabled属性可通过设置Enabled的属性值为False或0,使选项按钮不被激活。2020/1/10清华大学出版社132.常用事件复选框控件(CheckBox)常用事件也是Click事件。常用于创建一事件过程,检测该控件对象的Value属性值。图7-6编写程序代码PrivateSubCheck1_Click()’控制字体加粗效果IfCheck1.Value=1ThenText1.FontBold=TrueElseText1.FontBold=FalseEndIfEndSub【例7.4】利用单选钮设置文本框的文字字体,复选钮设置文本效果,程序界面如图7-6所示。2020/1/10清华大学出版社14PrivateSubCheck2_Click()’控制字体倾斜效果IfCheck2.Value=CheckedThenText1.FontItalic=TrueElseText1.FontItalic=FalseEndIfEndSubPrivateSubCheck3_Click()’控制字体下划线效果IfCheck3.Value=CheckedThenText1.FontUnderline=TrueElseText1.FontUnderline=FalseEndIfEndSub2020/1/10清华大学出版社15框架控件(Frame)是左上角有标题文字的方框,框架相当一个容器,它可以把其他的控件组织在一起,形成一个控件组。这样,当框架移动时,控件组也相应移动,框架隐藏时,控件组也一起隐藏。利用框架设计程序界面可使窗体上的内容更有条理。图7-7显示了框架在程序界面设计时的应用。7.3框架框架图7-72020/1/10清华大学出版社161.常用属性(1)Caption属性:框架标识文本.(2)Enabled属性(有两种设置):False:标题呈灰色,不允许对框架内的对象进行操作。True:允许对框架内的对象进行操作(默认值)。(3)Visible属性:True:框架及其控件可见;False:框架及其控件被隐含起来。2.常用事件框架控件的事件有鼠标单击(Click)事件和鼠标双击(Dblclick)事件。通常框架主要用于控件分组,很少编写框架事件。2020/1/10清华大学出版社17列表框控件(ListBox)和组合框控件(ComboBox)也为用户提供了选择。默认时,选项以垂直单列方式显示,也可以将其设置成多列方式。如果项目数量超过列表框(ListBox)或组合框(ComboBox)所能显示的数目,系统就会自动的向ListBox和ComboBox添加滚动条。这样用户就可以在列表中上下左右滚动来选择所需的项目。7.4列表框和组合框7.4.1列表框列表框(ListBox)主要用途在于提供列表式的多个数据选项供用户选择。用户可以通过单击某一项或多项来选择自己所需要的项目。2020/1/10清华大学出版社181.常用属性(1)List属性该属性是字符型数组,存放列表项内容,下标是从0开始,即List(0)保存列表中的第一个数据项的内容;List(1)保存列表中的第二个数据项的内容;依次类推,List(ListCount-1)存列表中的最后一个数据项的内容。(2)ListCount属性该属性返回列表框中列表项的数目。ListCount-1是最后一项的下标。(3)ListIndex属性该属性返回运行时用户选中的列表项的序号,如果用户选择多个列表项,则ListIndex返回的是最近一次所选的列表项的序号;如果没有项目被选定时ListIndex的值为-1。2020/1/10清华大学出版社19注意:ListIndex属性不能在设计时设置,只能在程序运行时才起作用。(4)Text属性用于存放被选中列表项的文本内容。该属性是只读的,不能在属性窗口中设置,也不能在程序中设置,只用于获取当前选定的列表项的内容。可在程序中引用Text属性值(5)Sorted属性设置列表项的排列次序,True:按字母顺序排列;False:按加入先后顺序排列。(6)Selected属性该属性是一个逻辑数组,其数组元素对应列表框中相应的列表项。表示对应的列表项在程序运行期间是否被选中。例,Selected(i)的值为True表示第i+1项被选中。2020/1/10清华大学出版社20(7)MultiSelect属性该属性值表明能否在列表框中进行复选以及如何进行复选。该属性只能在设计时设置。它的值有三个。0-None:禁止多项选择。1-Simple:简单多项选择。2-Extended:扩展多项选择。可利用【Ctrl】或【Shift】加鼠标组合使用进行选择。(8)SelCount属性其值表示在列表框控件中所选列表项的数目,通常与Selected数组一起使用,以处理控件中的所选项目。2020/1/10清华大学出版社21(9)Style属性该属性用来设置列表框控件的风格。0:标准风格;1:复选框风格。2020/1/10清华大学出版社222.常用方法(1)AddItem方法该方法向一个列表框中添加新的列表项,其语法是:List1.AddItemItem[,Index](2)RemoveItem方法该方法用来从一个列表框中删除一个列表项,其语法是:List1.RemoveItemindex其中:index参数表示是要删除的列表项的序号。例如,List1.RemoveItem0,表示删除列表框的第一个列表项。List1.RemoveItemList1.ListIndex,表示删除列表框中当前选中的列表项。(3)Clear方法该方法用于清除列表框中所有的列表项,如:List1.Clear3.列表框事件列表框常用事件有Click、DblClick等。2020/1/10清华大学出版社23【例7.5】设计一个对列表框进行项目添加、删除操作的程序。程序界面如图7-8、图7-9所示。要求:①在添加数据时判断列表框中数据是否存在,如果存在给出提示信息。②能够对列表框进行多项选择删除,如果没有选中任何项给出提示信息。③当用户在列表框中选择某项时,会在文本框中显示选中项的信息。图7-8图7-92020/1/10清华大学出版社24OptionExplicitDimiAsIntegerPrivateSubCommand1_Click()'项列表中添加数据项i=0DoWhileiL