第五章 基本控件的使用.docx

上传人:b****7 文档编号:23750419 上传时间:2023-05-20 格式:DOCX 页数:56 大小:1.06MB
下载 相关 举报
第五章 基本控件的使用.docx_第1页
第1页 / 共56页
第五章 基本控件的使用.docx_第2页
第2页 / 共56页
第五章 基本控件的使用.docx_第3页
第3页 / 共56页
第五章 基本控件的使用.docx_第4页
第4页 / 共56页
第五章 基本控件的使用.docx_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

第五章 基本控件的使用.docx

《第五章 基本控件的使用.docx》由会员分享,可在线阅读,更多相关《第五章 基本控件的使用.docx(56页珍藏版)》请在冰豆网上搜索。

第五章 基本控件的使用.docx

第五章基本控件的使用

第五章基本控件的使用

标签控件

在Windows应用程序的各种对话框中,都显示有一些文本提示信息,在VB中可以使用标签控件来实现在窗体中显示这些文本提示信息。

表5.1中列出了标签控件的一些主要属性。

   既可以在程序设计阶段通过【属性】窗口设置标签的属性,也可以在程序运行阶段在代码中设置窗体的属性。

如将标签(名称为Labell)显示的文本设置为"欢迎"的语句如下:

   Labell.Caption=欢迎

   实例5.1标签的使用

   在该程序中,窗体上显示一行提示用户执行操作的文本,当用户单击或双击窗体时,窗体上还会显示出用户所执行的操作。

   在窗体上放置两个标签控件,它们的属性设置如表5.2所示。

打开【代码】窗口,将下列代码添加到Form_Click事件过程中:

 

PrivateSubForm_Click()

  Labl.Borderstyle=0

  Labl.Caption=“您单击了窗体!

EndSub

   当单击窗体时,则触发Form_Click事件,该事件中的第一行语句是设置标签无边框(BorderStyle属性的值为0),第二行语句是设置标签上显示的文本。

   与此类似,将下列代码添加到Form_DblClick事件过程中:

 

PrivateSubForm_Click()

  Labl.Borderstyle=1

  Labl.Caption=“您单击了窗体!

EndSub

   运行该程序,单击窗体,则窗体上显示"您单击了窗体!

",如图5.2所示。

双击窗体,则窗体上显示"您双击了窗体!

",并且文本有一个边框,如图5.3所示:

按钮控件

在应用程序中,按钮控件常常被用来启动、中断或结束一个进程,用户可以通过简单的单击按钮来执行操作。

只要用户单击按钮,就会触发它的Click事件过程,通过编写按钮的Click事件过程,就可以指定它的功能了。

   按钮控件的常用属性如表5.3所示。

按钮的有效性

在某些应用程序界面中,按钮会根据用户的操作情况呈现两种不同的状态,一种是"有效",一种是"无效".在"无效"状态时,按钮通常以浅灰色显示,不能响应用户的任何操作。

Windows系统自带的录音机程序界面,其中的【停止】与【后退】按钮无效(以浅灰色显示).按下【播放】按钮后,【播放】按钮变为无效,而【停止】按钮变为有效。

按下【停止】按钮后,【停止】按钮变为无效,【播放】按钮恢复有效。

   通过按钮的有效性可以看出当前程序的状态,从而避免一些不需要的或重复的操作。

如在录音机处于停止状态时(【停止】按钮无效),用户就不需要再去单击【停止】按钮来停止播放了。

这里给出一个实例,来模拟录音机的停止与播放按钮。

   实例5.2按钮的有效性

   在窗体中放置一个标签控件和两个按钮控件,如图5.5所示,其中各控件的属性设置如表5.4所示。

   注意:

按钮控件添加到窗体上后,在默认情况下,它们的Enabled属性为Ture,在运行程序前,请在【属性】窗口中确认两个按钮的Enabled属性均为Ture,以防止用户在操作中谋改变了这个属性。

双击第一个按钮,打开【代码】窗口,将下列代码添加到ComPlay_Click事件过程中:

   PrivateSubComPlay_Click()

   Labell.Caption="正在播放歌曲"

   Complay.Enabled=False

   ComStop.Enabled=Ture

   EndSub

   当用户单击【播放】按钮时,触发ComPlay_Click事件,该事件过程中的第一行代码是在标签中显示文本,第二行代码是将【播放】按钮变为无效,第三行代码是将【停止】按钮变为有效。

   与此类似,将下列代码添加到Comstop_Click事件过程中:

   PrivateSubComstop_Click()

   Labell.Caption="歌曲播放停止"

   ComPlay.Enabled=Fasle

   ComPlay.Enabled=Ture

   EndSub

   运行该程序,单击【播放】按钮,则在标签中显示"正在播放歌曲",并且【播放】按钮变为无效,如图5.6所示。

单击【停止】按钮,则在标签中显示"歌曲播放停止",【停止】按钮变为无效,同时,【播放】按钮又恢复有效,如图。

5.7所示。

多功能按钮

通常,每个按钮都有一个固定的标题(Caption)和一个特定的功能,用户也可以设计出多功能按钮。

单击这样的按钮,按钮的名称会发生变化,并且会执行与按钮标题相应的操作。

   实例5.3多功能按钮。

   在该程序中,窗体上只有一个按钮,单击该按钮,按钮的标题会在"显示日期"与"显示时间"间切换,并且在窗体中将显示出与当前按钮标题相应的内容。

   在窗体上放置一个标签控件和一个按钮控件,其中各对象的属性设置如表5.5所示。

双击【显示日期】按钮,打开【代码】窗口,将下列代码添加到Commandl_Click事件过程中:

 

PrivateSubCommand1_Click()

  IfCommandl.Caption-“显示日期”Then

     Labell.Caption=Date

  Command1.Caption=“显示时间”

Else

 Labell.Caption=Time

 Command1.Caption=“显示日期”

 Endif

EndSub

   在该段代码中,使用了一个If语句来判断当前按钮的标题,然后做出相应的操作。

   运行该程序,单击【显示日期】按钮,则在标签中显示当前的系统日期,并将按钮的标题改变为"显示时间",如图5.9所示;再次单击按钮。

则在标签中显示当前的系统时间,并且按钮的标题恢复为"显示日期",如图5.10所示。

这样,通过一个按钮就可以循环显示当前系统的时间与日期了。

使用键盘操作按钮

按钮控件的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

EndSub

将退出程序的end语句添加到ComEsces_Click事件过程中:

PrivateSubComEsc_Click()

 End 

EndSub

   运行该程序,单击【确定】按钮或按下Alt+O组合键都将在文本框中显示当前的时间。

将焦点移动到文本框上,按下Enter键也可以在文本框中显示当前的时间。

单击【取消】按钮、按下Esc键或按下Alt+E组合键将退出程序。

图片按钮

在Windows程序界面中,标准的按钮形式是立体的长方形,在其上显示文本提示信息,表明按钮的功能。

为了使用户界面更加生动,一些按钮上不是用文字,而是用图片来表明按钮的功能,如按钮的功能是保存,则在按钮上显示一个磁盘图片。

   在VB中,如果将按钮控件的Style属性的值设置为1,就可以通过Picture属性来设置要在按钮上显示的图片,通过DownPicture属性设置按钮被按下时显示的图片,通过DisablePicture属性设置按钮无效时显示的图片。

   实例5.5图片按钮。

   在该程序中,按钮上显示有图片,形象地说明了该按钮的功能。

并且,按钮上的图片还会根据用户的操作,做出相应的变化。

   在窗体上放置一个标签控件和两个按钮控件,如图5.13所示,其中各对象的属性设置如表5.7所示。

提示:

在安装VB时,如呆选择了安装图形选项,则在VB安装目录下的\Common\Graphics目录将有大量的位图文件、元文件以及图标文件等。

在需安各种图形或图标时,可以在那里找到。

   双击第一个按钮控件,打开【代码】窗口,将下列代码添加到ComLight_Click事件过程中:

 

PrivateSubComLight_Click()

IfComLight.Caption=“关灯”Then

ComLight.Picture=LoadPicture(“d:

Microsoftvisualstudio\Common\Graphices\Tcons\Misc\Lighton.ico“

ComFace.picture=Loadpicture(“d:

Microsoftvisualstudio\Common\Graphices\Tcons\Misc\Face04.ico“

ComLight.Caption=“开灯”

Else

ComLiht.Picture=LoadPicture((“d:

Microsoftvisualstudio\Common\Graphices\Tcons\Misc\Lightoff.ico“)

ComFace.picture=Loadpicture(“d:

Microsoftvisualstudio\Common\Graphices\Tcons\Misc\Face02.ico“)

ComLight.Caption=“关灯”

EndIf

EndSub

   【关灯】按钮是一个多功能按钮,与实例5.3一样,使用了If语句来判断按钮当前的标题。

在程序运行时,设置对象的Picture属性的格式如下:

   对象名Picture=LoadPicture("文件名")

   注意:

在程序运行时,不能直接将文件名赋予控件的Picture属性,而要使用LoadPicture()函数。

   将下列代码添加到ComFace_Click事件过程中:

 

PrivateSubComFace_Click()

IfComLight.Caption=“关灯”Then

Labell.Caption=“我高兴!

Else

Labell.Caption=“我生气!

EndIf

EndSub

   运行该程序,单击【关灯】按钮,则该按钮上的图片变成一个发亮的灯泡,提示文本也由"关灯"变成了"开灯",且另一个按钮上的笑脸图片变成了哭脸图片。

单击【哭脸】按钮,则在标签中显示"我生气!

",如图5.14所示。

再次单击【开灯】按钮,则该按钮'上的图片恢复为一个关灭的灯泡,提示文本"开灯"变成了"关灯",且另一个按钮上的哭脸图片恢复为笑脸图片。

单击【笑脸】按钮,则在标签中显示"我高兴!

",如图5.15所示。

文本框的基本属性

在前面的一些实例中,己经接触过文本框的Text属性。

该属性是文本框最重要的一个属性,在设计时,使用该属性可以指定文本框的初始值。

在程序中。

Text属性用来返回用户在文本框中输入的内容。

如要将用户在文本框(名称为Text1)中输入的内容显示在窗体上,可以使用以下语句:

   PrintTextl.Text

   表5.8列出了文本框的其他一些属性。

   如果文本框的MultiLine属性的值设置为False,则这样的文本框称为单行文本框。

在单行文本框中输入的内容均处于一行,即便是按Enter键也不能实现换行。

超出文本框的内容不显示出来,可以将插入点置于文本框中,然后按方向键来查看未显示出的内容。

   如果文本框的MultiLine属性的值设置为True,则这样的文本框称为多行文本框。

对于多行文本框,如果ScrollBars属性使用默认值(值为0),则在文本框中输入内容时,当一行填满之后,就会自动转换到下一行,也可以按Enter键强制换行。

将插入点置于文本框中,然后按方向键即可查看超出文本框中的内容。

如果Scro1LBars属性的值不为0,则文本框中会出现滚动条,通过滚动条可以方便地查看超出文本框的内容。

图5.16所示的是在几个MultiLiue属性和Scro1lBars属性设置不同的文本框中输入相同的内容后的情形,其中各文本框的MultiLine属性和ScrollBars属性的设置如表5.10所示。

文本框的基本属性

在前面的一些实例中,己经接触过文本框的Text属性。

该属性是文本框最重要的一个属性,在设计时,使用该属性可以指定文本框的初始值。

在程序中。

Text属性用来返回用户在文本框中输入的内容。

如要将用户在文本框(名称为Text1)中输入的内容显示在窗体上,可以使用以下语句:

   PrintTextl.Text

   表5.8列出了文本框的其他一些属性。

   如果文本框的MultiLine属性的值设置为False,则这样的文本框称为单行文本框。

在单行文本框中输入的内容均处于一行,即便是按Enter键也不能实现换行。

超出文本框的内容不显示出来,可以将插入点置于文本框中,然后按方向键来查看未显示出的内容。

   如果文本框的MultiLine属性的值设置为True,则这样的文本框称为多行文本框。

对于多行文本框,如果ScrollBars属性使用默认值(值为0),则在文本框中输入内容时,当一行填满之后,就会自动转换到下一行,也可以按Enter键强制换行。

将插入点置于文本框中,然后按方向键即可查看超出文本框中的内容。

如果Scro1LBars属性的值不为0,则文本框中会出现滚动条,通过滚动条可以方便地查看超出文本框的内容。

图5.16所示的是在几个MultiLiue属性和Scro1lBars属性设置不同的文本框中输入相同的内容后的情形,其中各文本框的MultiLine属性和ScrollBars属性的设置如表5.10所示。

字体与字号

大多数控件都有Font属性,用来设置显示在控件上文本的字体与字号。

通过【属性】窗口设置Font属性的方法是:

单击Font属性,则在属性行的右端会出现一个显示有"…"符号的按钮,单击该按钮则打开【字体】对话框。

在该对话框中选择一种需要的字体(如隶书)、样式(如规则)、字号(如小四)和效果(如下划线),单击【确定】按钮即可。

   与其他属性不同,在代码中不能使用Font属性,如下列语句是错误的。

   Text1.Font="宋体".

   Textl.Font="宋体,四号".

   事实上,在【属性】窗口中通过设置Font属性同时也设置了多项属性,如字体、字号和效果等。

而在代码中,每一个属性都对应一个属性名,如字体的属性名为FontName.表5.11中列出了在代码中设置字体、字号、黑体和下划线等属性的属性名以及示例。

选择文本

文本框控件还提供了3个属性,用于操作用户所选择的文本。

且这3个属性不能在【属性】窗口中设置,只能在代码中使用。

表5.12中列出这3个属性以及它们的含义。

   要在程序中操作用户所选的文本,如将文本替换成指定的文本以及更改所选文本的大小写等,都可以使用SelText属性。

   例如,将用户在文本框(Textl)中所选文本替换成3个A的语句如下:

   Texil.SelText=""AAA'".

   要删除当前所选的文本,只需向SelText属性赋予空字符串即可,语句如下:

   Text1.Se1Text="".

   将所选文本转换成大写,可以使用Ucase()函数,语句如下:

   Textl_SelText=UCase(Textl.SelText).

   实例5.6替换文本。

   在该程序中,用户在一个文本框中输入一段文本,使用鼠标拖动选中要替换的字符串,则在窗体上显示出所选字符串的起始位置和字符串的长度。

在另一个文本框中输入替换内容后,单击【替换】按钮即可将所选的字符串替换,如图5.19所示,将用户所选的字符串替换成了"改变"两个字。

   在窗体中放置五个标签控件、两个文本框控件和一个按钮控件,如图5.20所示。

其中各对象的属性设置如表5.13所示。

使用鼠标拖动选中文本框中的字符串后,释放鼠标,则窗体上就显示出所选字符串的信息。

因此,可以将显示所选字符串信息的代码添加到文本框的MouseUp事件中。

Texsel_MouseUp事件过程如下所示:

 

PrivateSubTextsel_MouseUp(ButtonAsInterger,ShiftAsInteger,xAsSingle,YAsSingle)

LabStart.Vaption=TextSel.SelStart

LabStart.Caption=TextSel.selLength

EndSub

 

   在按钮的Click事件中添加如下代码:

   PrivateSubComch_Click()

   Text.SelText Texch.Text

   EndSub

   这样,一个替换文本程序就创建完毕。

密码框

密码框是一种特殊的文本框,它的特殊之处在于:

当用户向密码框中输入文本时,不论用户输入的是什么字符,在密码框中总是显示特定的字符。

如*、#等。

这样,别人在密码框中就看不到用户所输入的实际内容,从而达到了保密的效果。

   通过设置文本框的PasswordChar属性就可以将普通的文本框设置成为密码框。

在缺省情况下,PasswordChar属性的值为空字符串。

这时用户在键盘上输入什么字符,在文本框中就显示什么字符。

如果将PasswordChar属性的值设置为某个字符,如设置为星号(*),则用户在文本框中输入任何字符都将显示为*.例如,输入的是Hcq,显示的则是***.

   但是,文本框的PasswordChar属性并不影响Text属性,尽管在文本框中显示的是在PasswordChar属性中指定的字符,但Text属性返回的仍然是用户输入的实际内容。

根据这一点,可以编写一个验证密码的小程序。

   实例5.7验证密码

   在该程序中,要求用户输入密码,如果输入正确,则用户可以继续下一步操作,否则,在窗体上显示"密码输入错误,请再试一次!

",并且用户只有三次输入密码的机会,如果三次输入错误,则文本框变为无效,不能接受用户的任何输入。

在本例中,认为正确的密码为abcd.

   单击【添加窗体】按钮向当前工程中再添加一个窗体,其中一个窗体用作验证密码。

在用作验证密码的窗体上放置两个标签控件、一个文本框控件和一个按钮控件,如图5.21所示。

各对象属性设置如表5.14所示。

在另一个窗体上放置一个标签控件和一个按钮控样,如图5.22所示,各对象的属性如表5.15所示。

双击验证密码窗体中的【确定】按钮,打开【代码】窗口,将下列代码添加到ComOk_Click事件过程中:

 

PrivateSubComOK_Click()

StaticiAsInteger

Ifi<=2Then

IfTexPass.Text=“abcd”Then

UnloadForPass

Formain.Show

Else

LabMsg.Caption=“密码错误,请再试一遍!

EndIf

Else

LabMsg.Caption=“三次输入错误,拒绝重新输入!

TextPass.Enabled=False

EndIf

i=i+1

EndSub

   在该段代码中,首先定义了一个静态变量i,它用来记录用户输入密码的次数。

i的初值为O,每单击一次按钮,则i的值增1(i=i+1).然后使用If语句来判断i的值,如果i的值小于3,即用户输入密码不超过三次,又使用了一个If语句来判断用户所输入的密码是否正确。

如果正确(即输入的是abcd),则验证密码窗体消失,同时启动另一个窗体。

如果输入的密码不正确,则会在窗体的标签上显示"密码错误,请再试一遍!

".如果第三次输入密码也不正确,此时i的值已经累加到3.再次输入密码,程序不会再判断密码是否正确(因为1≮3),而是在窗体上显示"三次输入错误,拒绝重新输入!

",并且将文本框置为无效。

因此,即便是用户在第四次输入了正确的密码,也无济于事。

双击另一个窗体上的按钮控件,将程序结束语句End添加到按钮的Click事件中,如下所示:

   PrivateSubComMain_Click()

       End

   EndSub

   在【工程属性】对话框中设置启动窗体为ForPass,运行该程序,则出现【验证密码】窗体,在文本框中输入字符串abcd,文本框中显示的是"****",如图5-23所示。

单击【确定】按钮,则验证密码窗体消失,另一个窗体显示出来,如图5.24所示。

单击【关闭】按钮可以退出该程序。

   再次运行该程序,在【验证密码】窗体的文本框中随意输入一个字符串(不是abcd),单击【确定】按钮,则窗体上显示"密码错误,请再试一遍!

".如图5.25所示。

连续三次输入错误的密码,当第四次输入密码时,无论密码正确与否,单击【确定】按钮则窗体上显示"三次输入错误,拒绝重新输入!

",并且将文本框置为无效,用户无法继续输入密码,如图5.26所示。

Change事件

文本框也有Click,DblClick等事件,但文本框的这些事件并不常用。

文本框较常用的一个事件是Change事件,一旦文本框中的内容被改变,就会触发它的Change事件。

   实例5.8利用Change事件

   在该程序中,用户在文本框中输入内容时,窗体上就会同步显示出用户所输入的内容。

并且如果用户修改了文本框内容,则窗体上的内容也会同步修改。

   要使窗体上显示的内容总是与文本框中的内容同步改变,需要使用文本框的Change事件,因为该事件能随时感知到文本框中内容的改变。

   在窗体中放置一个标签控件、一个文本框控件和一个按钮控件,如图

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1