第五章 基本控件的使用
5.1 标签控件
  在Windows应用程序的各种对话框中,都显示有一些文本提示信息,在VB中可以使用标签控件来实现在窗体中显示这些文本提示信息。表5.1中列出了标签控件的一些主要属性。
 
  既可以在程序设计阶段通过【属性】窗口设置标签的属性,也可以在程序运行阶段在代码中设置窗体的属性。如将标签(名称为Labell)显示的文本设置为"欢迎"的语句如下:
  Labell.Caption=欢迎
  实例5.1标签的使用
  在该程序中,窗体上显示一行提示用户执行操作的文本,当用户单击或双击窗体时,窗体上还会显示出用户所执行的操作。
  在窗体上放置两个标签控件,它们的属性设置如表5.2所示。
  打开【代码】窗口,将下列代码添加到Form_Click事件过程中:
  Private Sub Form_Click()
  Labl.Borderstyle=0
  Labl.Caption=“您单击了窗体!”
  End Sub
  当单击窗体时,则触发Form_Click事件,该事件中的第一行语句是设置标签无边框(BorderStyle属性的值为0),第二行语句是设置标签上显示的文本。
  与此类似,将下列代码添加到Form_DblClick事件过程中:
  Private Sub Form_Click()
  Labl.Borderstyle=1
  Labl.Caption=“您单击了窗体!”
  End Sub
  运行该程序,单击窗体,则窗体上显示"您单击了窗体!",如图5.2所示。双击窗体,则窗体上显示"您双击了窗体!",并且文本有一个边框,如图5.3所示:
vb开始按钮代码 
5.2 按钮控件
  在应用程序中,按钮控件常常被用来启动、中断或结束一个进程,用户可以通过简单的单击按钮来执行操作。只要用户单击按钮,就会触发它的Click事件过程,通过编写按钮的Click事件过程,就可以指定它的功能了。
  按钮控件的常用属性如表5.3所示。
 
  5.2.1按钮的有效性在某些应用程序界面中,按钮会根据用户的操作情况呈现两种不同的状态,一种是"有效",一种是"无效"."无效"状态时,按钮通常以浅灰显示,不能响应用户的任何操作。Windows系统自带的录音机程序界面,其中的【停止】与【后退】按钮无效(以浅灰显示).按下【播放】按钮后,【播放】按钮变为无效,而【停止】按钮变为有效。按下【停止】按钮后,【停止】按钮变为无效,【播放】按钮恢复有效。
  通过按钮的有效性可以看出当前程序的状态,从而避免一些不需要的或重复的操作。如在录音机处于停止状态时(【停止】按钮无效),用户就不需要再去单击【停止】按钮来停止播放了。这里给出一个实例,来模拟录音机的停止与播放按钮。
  实例5.2按钮的有效性
  在窗体中放置一个标签控件和两个按钮控件,如图5.5所示,其中各控件的属性设置如表5.4所示。
 
  注意:按钮控件添加到窗体上后,在默认情况下,它们的Enabled属性为Ture,在运行程序前,请在【属性】窗口中确认两个按钮的Enabled属性均为Ture,以防止用户在操作中谋改变了这个属性。
  双击第一个按钮,打开【代码】窗口,将下列代码添加到ComPlay_Click事件过程中:
  Private Sub ComPlay_Click()
  Labell.Caption="正在播放歌曲"
  Complay.Enabled=False
  ComStop.Enabled=Ture
  End Sub
  当用户单击【播放】按钮时,触发ComPlay_Click事件,该事件过程中的第一行代码是在标签中显示文本,第二行代码是将【播放】按钮变为无效,第三行代码是将【停止】按钮变为有效。
  与此类似,将下列代码添加到Comstop_Click事件过程中:
  Private Sub Comstop_Click()
  Labell.Caption="歌曲播放停止"
  ComPlay.Enabled=Fasle
  ComPlay.Enabled=Ture
  End Sub
  运行该程序,单击【播放】按钮,则在标签中显示"正在播放歌曲",并且【播放】按钮变为无效,如图5.6所示。单击【停止】按钮,则在标签中显示"歌曲播放停止",【停止】按钮变为无效,同时,【播放】按钮又恢复有效,如图。5.7所示。
 5.2.2 多功能按钮
  通常,每个按钮都有一个固定的标题(Caption)和一个特定的功能,用户也可以设计出多功能按钮。单击这样的按钮,按钮的名称会发生变化,并且会执行与按钮标题相应的操作。
  实例5.3多功能按钮。
  在该程序中,窗体上只有一个按钮,单击该按钮,按钮的标题会在"显示日期""显示时间"间切换,并且在窗体中将显示出与当前按钮标题相应的内容。
  在窗体上放置一个标签控件和一个按钮控件,其中各对象的属性设置如表5.5所示。
 
  双击【显示日期】按钮,打开【代码】窗口,将下列代码添加到Commandl_Click事件过程中:
  Private Sub Command1_Click()
  If Commandl.Caption-“显示日期”Then
  Labell.Caption=Date
  Command1.Caption=“显示时间
  Else
  Labell.Caption =Time
  Command1.Caption=“显示日期
  End if
  End Sub
  在该段代码中,使用了一个If语句来判断当前按钮的标题,然后做出相应的操作。
  运行该程序,单击【显示日期】按钮,则在标签中显示当前的系统日期,并将按钮的标题改变为"显示时间",如图5.9所示;再次单击按钮。则在标签中显示当前的系统时间,并且按钮的标题恢复为"显示日期",如图5.10所示。这样,通过一个按钮就可以循环显示当前系统的时间与日期了。
 
 5.2.3 使用键盘操作按钮
  按钮控件的Click事件不仅可以由鼠标单击触发,还可以由以下几种方法触发:
  按Tab键把焦点移到相应按钮上。然后按Space键或Enter键。
  如果某按钮是窗体的缺省命令按钮,既使将焦点移到其他控件上(非按钮控件),按下Enter键也会选中该按钮。在设计时,通过设置按钮的Default属性为True,就可指定它为窗体的缺省命令按钮。在一个窗体中只能有一个按钮为缺省命令按钮。
  如果某按钮是窗体的缺省取消按钮,即使把焦点移到其他控件上,也能通过按Esc键选中该按钮。在设计时,通过设置某按钮的Cancel属性为True,就可指定它为窗体的缺省取消按钮。在一个窗体中只能有一个按钮为缺省取消按钮。
  按按钮的访问键(Alt+带下划线的字母)
  可通过Caption属性创建命令按钮的访问键,为此,只需在作为访问键的字母前添加一个连字符(&).例如,要为标题为Print的按钮创建访问键,应在字母P前添加连字符(&),于是得到&Print.运行时,字母P将带下划线,同时按AIt+P键就可选定命令按钮。
  注意:如果不创建访问健,而又要使标题中包含连字符但不创建访问键,应添加两个连字符(&&).这样一来,在标题中就只显示一个连字符而不显示下划线。
  使用Enter键来执行某项操作和使用Esc键来取消某项操作是人们的操作习惯,因此,在设
计程序时,最好设置窗体的缺省命令按钮和缺省取消按钮,来迎合人们的操作习惯。
  实例5.4使用键盘操作按钮
  在该程序中,用户可以使用Enter键,Esc键和访问键来选中按钮。若按Esc键,则退出程序。
  在窗体中放置一个标签控件、一个文本框控件和两个按钮控件,其中各对象的属性设置如表5.6所示。
 
  双击【确定】按钮,打开【代码】窗口,将下列代码添加到ComOK_Click事件过程中:
  TexTime.Text =Time