您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 可视化程序设计基础教程-ch5事件与方法
本章要点在VB中,窗体和控件是具有自己的属性、方法和事件的对象,我们可以把属性看作一个对象的性质,把方法看作对象的动作,把事件看作对象的响应。常用方法一般事件、键盘事件、鼠标事件对话框定时器学习重点:5.1常用方法5.3键盘事件5.4鼠标事件5.5对话框5.6定时器5.2一般事件5.5对话框对话框是系统或应用程序所显示的特殊窗口,用来请求响应或提供信息。VB中常见的对话框有预定义对话框、自定义对话框和通用对话框,而这些对话框又有模式对话框和无模式对话框之分。模式对话框,在可以继续操作应用程序的其他部分之前,必须被关闭(隐藏或卸载)。也就是说,在继续做下去之前,总是要求用户应当先关上对话框或者对它的消息作出响应。无模式对话框允许在对话框与其它窗体之间转移焦点而不用关闭对话框。当对话框正在显示时,可以在当前应用程序的其它地方继续工作。无模式对话框很少使用。使用不同参数的Show方法,可以将窗体作为模式或无模式对话框显示。Show方法的格式为:object.Showstyle,ownerform5.5.1模式与无模式对话框参数说明:style:有两个取值vbmodal(1)和vbmodaless(0,缺省值)ownerform:用来指定窗体的父子关系。可将某个窗体名传给这个参数,使得这个窗体成为新窗体的拥有者。其作用是确保对话框在它的父窗体最小化时它也最小化,或者在其父窗体关闭时它也卸载。例:一个Caption为frmFind的窗体,可以用以下代码分别显示为模式或无模式对话框:frmFind.showvbModal`将frmFind作为模式对话框显示frmFind.show将frmFind作为无模式对话框显示通用用对话框是我们在Widows的操作中经常用到的一些对话框,它们是“打开”、“另存为”、“颜色”、“字体”、“打印”以及“帮助”对话框。VB系统提供了使用这些通用对话框的控件——CommonDialog控件,只是CommonDialog控件在标准的工具箱中没有。因此,要先将CommonDialog控件工具添加到VB的工具箱中,其步骤如下:①选择“工程”菜单中的“部件”选项②单击“部件”对话框中的“控件”选项卡③选择MicrosoftCommonDialogControl6.0选项,并单击“确定”按钮关闭“部件”对话框。5.5.2通用对话框将一个通用对话框添加到窗体中。CommonDialog控件放入窗体后,只要在程序中使用指定对话框的方法就可以显示六种对话框,例如:显示Open通用对话框的语句为CommonDialog1.ShowOpen这些方法如表所示。通用对话框对象允许在程序中显示六种标准对话框。每个通用对话框使用与该对话框相对应的通用对话框对象的方法来显示。通过设置通用对话框的相关属性,可以控制通用对话框的内容。通用对话框共有的属性有:Name属性默认名称为CommonDialog1、CommonDialog2等。Action属性该属性用于返回或设置所产生的对话框的类型。它在运行时有效,在设计时无效。Action属性的取值与通用对话框的对应关系如表5-7所示。CancelError属性该属性用于在程序中判断用户是否按了“取消”键来结束对话框。在应用程序中添加对话框最容易的方法是使用预定义对话框,VB应用程序中添加预定义对话框可以使用的函数:1.InputBox函数2.MsgBox函数5.5.3预定义对话框1.InputBox函数使用InputBox函数获取输入,调用方式:函数名称变量名参数Fullname=InputBox(prompt,title)InputBox功能打开一个对话框,等待用户输入内容,当用户单击“确定”按钮或按回车键时,函数返回输入的值,其值的类型为字符串。说明:实现数据的输入,最常用的方法是InputBox()函数和使用文本框控件。文本框控件用于接收输入的文本信息(字符型),它将接收的字符串保存在文本框的Text属性中。例:Dimx%‘%是整型的类型符x=InputBox(“x=“)‘系统将输入的字符串自动转换数值-x或x=Val(Text1.Text)‘将数字字符用Val函数转换为数值数据-xx=InputBox(“x=InputBox(输入X的值:,输入框)或x=Val(InputBox(“x=InputBox(输入X的值:,输入框))x=Val(Text1.Text)例:当键盘输入“王晓明”后,变量strName获得键盘输入的值.DimstrNameAsString*40,strS1AsString*40‘声明定长字符串变量可存放40个字strS1=“请输入你的姓名”+Chr(13)+Chr(10)+“然后单击确定”strName=InputBox(strS1,“输入框”)输入对话框变量strS1中的内容作为对话框的提示信息。可在需换行处加chr(13)回车符或chr(10)换行符:PrivateSubCommand1_Click()Dimprompt,fullnameprompt=请输入+Chr(13)+你+Chr(10)+的+Chr(10)+姓+Chr(10)+名fullname=InputBox(prompt)Label1.Caption=fullnameEndSub请输入+Chr(13)+你+Chr(10)+的+Chr(10)+姓+Chr(10)+名chr(13)回车符或chr(10)换行符效果:2.MsgBox函数使用MsgBox函数输出信息,调用方式:MsgBox函数的最简形式为:MsgBox(prompt)变量名要显示的信息对话框上显示的按钮数量对话框的标题变量%=MsgBox(prompt,Button,title)MsgBox功能:打开一个消息框,等待用户选择一个按钮。MsgBox函数返回所选按钮对应的整数值,以便告诉用户单击哪一个按钮。若不需要返回值,则可作为MsgBox过程使用。说明:①prompt和title的含义与InputBox()函数中对应的参数相同。②buttons(按钮):可选项,为整型参数。用来设定要显示的按钮的数目、类型和出现在消息框中的图标类型。函数调用示例:PrivateSubCommand1_Click()Dimprompt,fullnameprompt=请输入你的姓名fullname=InputBox(prompt)MsgBox(fullname),,输出结果EndSub按钮buttons值如下:函数返回所选按钮整数值:示例---按钮buttons的设置值变化效果:MsgBox(fullname),vbOKCancel+vbQuestion,输出结果MsgBox(fullname),vbOKCancel+vbInformation,输出结果函数返回所选按钮整数值变化:vbOKCancel自定义对话框是用户所创建的含有控件的窗体,这些控件包括命令按钮、选取按钮和文本框,它们可以为应用程序接收信息。通过设置属性值来定义窗体的外观,也可以编写在运行时显示对话框的代码。5.5.4自定义对话框5.6定时器定时器提供一个时间间隔属性,每隔一个时间间隔,就会引发定时器事件。当需要在特定时间间隔执行程序代码时,可以使用定时器控件(Timer)。VB中对可使用的定时器没有特别的限制。在设计时定时器的大小固定,运行时定时器不可见。1.定时器的属性Enabled属性该属性用来设置定时器是否创建Timer事件。Enabled属性值:True:有效计时False:停止时钟工作Interval属性设置Timer事件之间的毫秒计时数。这个时间间隔可以设为0(即没有事件发生)到64767,这意味着即使是最长的时间间隔也不比一分钟长多少(大约64.8秒)。可以在设计时或在运行时设置Timer控件的Interval属性。一旦Timer控件的Enabled属性设成True,它就会按照Interval属性指定的间隔(毫秒)进行倒计时。每超过这段时间间隔,就引发Timer事件,除非Enabled属性被设成False,否则Timer事件会周而复始地进行下去。2.Timer事件该事件在激活定时器后每一个Interval属性值的时间间隔过去之后发生。其事件过程格式为:PrivateSubTimer1_Timer()EndSub【例5-1】使用定时器对象设置时间限制。要求:在15秒内用户未键入正确的密码字时,该程序通过定时器关闭自己。在窗体中添加定时器Timer1、按钮Command1、文本框Text1和标签Label1。设置各对象属性:Text1:PasswordChar属性为*Label1:Caption属性为Enteryourpasswordwithin15seconds.Command1:Caption属性为TryPasswordTimer1:Interval属性设为15000(15秒)Enabled属性设为True(默认值)例5-1】代码如下:PrivateSubCommand1_Click()IfText1.Text=abcThenTimer1.Enabled=FalseMsgBox(Welcometothesystem!)EndElseMsgBox(Sorry,friend,Idon'tknowyou.)EndIfEndSubPrivateSubTimer1_Timer()‘当定时器的时间间隔到达15秒,用户未提供正确的密码字时,VB执行该事件过程MsgBox(Sorry,yourtimeisup.)EndEndSub【例5-10】设计一个比赛用的秒表。在窗体中添加定时器Timer1、按钮cmdStartStop和标签Label1。将cmdStartStop的Caption设为“计时开始”,将Timer1的Enabled设为False,Interval设为1。在cmdStartStop的Click事件中设置计时开始或计时终止,在Timer1的Timer事件中Label1的Caption显示当前时间与计时开始时的时间差。比赛用的秒表【例5-10a】设计一个定时闹钟,如图所示。用户在两个文本框(Tex1和Text2)中设置定时时间,然后再按定时按钮(command1),闹钟开始生效。两个文本框的MaxLength属性为2,(字符长度为2),时间控件名称:Timer1,停止和结束按钮名称分别为:Command2和Command3。当hour和minute被设置为“**”时,定时时间和系统时间不相等,即取消定时。【例5-11】用一个时钟控制蝴蝶在窗体中飞舞在窗体上定义一个时钟,一个命令按钮和3个图象控件。在程序的运行时,只能在Image1控件中看见蝴蝶。蝴蝶的飞舞是通过Interval时间间隔,在Image1中交替装入Image2和Image3中的图象来实现的。运行结果如图所示:
本文标题:可视化程序设计基础教程-ch5事件与方法
链接地址:https://www.777doc.com/doc-3830592 .html