Visual Basic程序设计 教学课件 ppt 作者 邱寄帆 第08章

上传人:E**** 文档编号:89397804 上传时间:2019-05-24 格式:PPT 页数:34 大小:108.50KB
返回 下载 相关 举报
Visual Basic程序设计 教学课件 ppt 作者  邱寄帆 第08章_第1页
第1页 / 共34页
Visual Basic程序设计 教学课件 ppt 作者  邱寄帆 第08章_第2页
第2页 / 共34页
Visual Basic程序设计 教学课件 ppt 作者  邱寄帆 第08章_第3页
第3页 / 共34页
Visual Basic程序设计 教学课件 ppt 作者  邱寄帆 第08章_第4页
第4页 / 共34页
Visual Basic程序设计 教学课件 ppt 作者  邱寄帆 第08章_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《Visual Basic程序设计 教学课件 ppt 作者 邱寄帆 第08章》由会员分享,可在线阅读,更多相关《Visual Basic程序设计 教学课件 ppt 作者 邱寄帆 第08章(34页珍藏版)》请在金锄头文库上搜索。

1、第 8 章 事件驱动程序设计,8.1 事件与事件驱动程序设计 8.2 常 见 键 盘 事 件 8.3 常 见 鼠 标 事 件,8.1 事件与事件驱动程序设计,8.1.1 事件程序的结构与驱动 1面向过程编程与事件驱动编程 (1)面向过程编程 用面向过程的语言编写的应用程序按照代码顺序运行,每次执行一行代码,执行过程中根据不同的代码语句,执行不同的逻辑分支或跳转到程序的其他部分。在面向过程编程中,程序负责控制用户如何输入信息。,图8-1 选择控制结构,(2)事件驱动编程 在Visual Basic中编写的应用程序是事件驱动的。在基于事件驱动的应用程序中,只有当特定事件调用该事件所对应的代码时,程

2、序语句才开始执行。键盘输入、鼠标事件、操作系统或程序代码都可以触发事件。事件驱动程序会持续检测和响应事件。事件发生时,如果与之对应的事件包含响应代码,Visual Basic就会执行这些代码。,当单击窗体的“Button1”按钮时,将会触发鼠标单击(Click)事件,此时,Visual Basic运行过程Sub Button1_Click中的代码。代码运行完后,Visual Basic等待下一个事件的发生,如图8-2所示。,图8-2 事件驱动编程示例,下面是事件驱动应用程序中的典型事件序列。 启动应用程序,加载和显示窗体。 窗体(或窗体上的控件)接收事件。事件可由用户引发(例如鼠标操作),也可

3、以由系统引发(例如定时器事件),还可由代码间接引发(例如,当代码加载窗体时的Load事件)。, 如果在相应的事件过程中存在代码,就执行代码。 然后,应用程序等待下一次事件。,2Visual Basic窗体的常用事件 (1)Activate事件 (2)Click事件 (3)DblClick事件 (4)Deactivate事件 (5)Initialize事件,(6)Load事件 (7)MouseDown事件 (8)QueryUnload事件 (9)Resize事件 (10)Terminate事件 (11)Unload事件,8.1.2 事件的驱动对象 在这里的对象概念主要是指Visual Basic

4、提供的现成对象,这也是Visual Basic的重要特征之一。Visual Basic中的对象主要分为窗体和控件两类。窗体是用户工作区,所有控件都在窗体中得到了集成,从而构成应用程序的界面;控件是指“空的对象”或基本对象,是应用程序的图形用户界面的一个组件,对其属性可以进行不同的设置,从而构成不同的对象。,使用鼠标在某个控件上双击,即可将该控件复制到窗体中,通过对其属性的不同设置,可建立不同的应用程序。Visual Basic的工具箱如图8-3所示。,图8-3 Visual Basic工具箱,在工具箱中的文本框控件上用鼠标双击,即可将该控件复制到窗体的正中央。然后,用鼠标指向窗体中的该控件,按

5、下鼠标左键并移动鼠标,将该控件拖动到另一位置。用同样的方法可将标签和命令按钮控件复制到窗体中,如图8-4所示。,图8-4 窗体和控件,8.2 常 见 键 盘 事 件,8.2.1 键盘事件的认识 键盘是计算机的标准输入设备。键盘事件由键盘的键入产生。 Visual Basic可以响应3种键盘事件: KeyDown事件、KeyUp事件和KeyPress事件,利用键盘事件可以编程进行多种键盘操作,也可以处理ASCII值代表的字符。 对键盘事件的处理可以分为两个层次:控件级和窗体级。 注意,某些控件能够拦截键盘事件,以致窗体不能接收键盘事件。如命令按钮控件有焦点时的Enter键、焦点在列表框上时的方向

6、键等。,8.2.2 KeyPress事件 用户单击并松开一个ANSI标准键时,产生一个KeyPress事件。任何可打印的键盘字符,来自标准字母表的字符或少数几个特殊字符与Ctrl键的组合,回车键或空格键都可以触发KeyPress事件。,KeyPress事件常用于文本框的事件处理。 Sub Form_Keypress(KeyAscii As Integer) 窗体的事件过程 Sub object_KeyPressIndex As Integer,KeyAscii As Integer) 窗体控件的事件过程 其中,参数KeyAscii为按键的相对应的ASCII值。,一般来说,当用户对当前具有控制焦

7、点的对象进行按下并释放的键盘操作时,直接引发该对象的KeyPress事件。但是,如果窗体的KeyPreview属性设置为True,则首先触发窗体的KeyPress、KeyUp和KeyDown事件,利用这些事件过程可以先滤去一些信息,然后传送给对象的KeyPress、KeyUp和KeyDown事件。,也就是说,如果窗体的KeyPreview属性设为True,并且窗体级事件过程修改了KeyAscii变量的值,则当前选中对象的KeyPress事件将接收到修改后的键盘码,如果窗体级事件过程将KeyAscii设置为0,则不再调用对象的KeyPress事件过程。 利用KeyPress事件,可以对输入的数据

8、进行限制。,8.2.3 KeyDown事件和KeyUp事件 KeyDown和KeyUp事件是对键盘事件的最低级的反应。在焦点置于每个对象的条件下,用户单击键盘将出触发KeyDown,松开键盘时将触发KeyUp事件。,KeyDown事件过程的语法格式: Private Sub对象名_KeyDown(KeyCode As Integer,Shift As Integer) KeyUp事件过程的语法格式: Private Sub 对象名_KeyUp(KeyCode As Integer,Shift As Integer),注意,以下情况不能触发KeyDown和KeyUp事件: 窗体有一个命令控件,并

9、且Default属性设置为Ture时的Enter键; 窗体有一个命令控件,并且Cancel属性设置为Ture时的Esc键; Tab键。,8.3 常 见 鼠 标 事 件,8.3.1 鼠标事件的认识 MouseDown、MouseUp和MouseMove事件是Visual Basic最常用的鼠标事件,大多数控件都可以识别这3个事件。,单击鼠标时,将触发MouseDown事件;松开鼠标时,将触发MouseUp事件;鼠标移动到新位置时,将触发MouseMove事件。,MouseDown事件过程的语法格式: Private Sub对象名_MouseDown(Button As Integer,Shift

10、 As Integer,X As Single,Y As Single),MouseUp事件的语法格式: Private Sub对象名_MouseUp(Button As Integer,Shift As Integer,X As Single,Y As Single),MouseMove事件的语法格式: Private Sub对象名_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single),注意:MouseDown和MouseUp事件所使用的参数与MouseMove事件使用的Button参数不同。 MouseD

11、own和MouseUp事件:Button参数要精确地指出每一个按钮的当前状态。 MouseMove事件:Button参数指出所有按钮的当前状态。,8.3.2 Click事件与DoubleClick事件 以鼠标左键单击对象时,将触发Click事件;以鼠标左键双击对象时,将触发DblClick事件。对于窗体对象,单击或双击一个空白区域或一个无效控件时触发Click事件和DblClick事件。 Click事件过程的语法格式: Private Sub对象名_Click() DblClick事件过程的语法格式: Private Sub对象名_DblClick(),8.3.3 鼠标拖放事件 用鼠标将一个对

12、象拖动到另一个对象上时,无论鼠标是否松开,都会在目标对象上触发一个DragOver(拖动)事件。松开按钮后,还会触发一个DragDrop(拖放)事件。,DragOver事件过程的语法格式: Private Sub对象名_DragOver(Source As Control,X As Single,Y As Single,State As Integer) DragDrop事件过程的语法格式: Private Sub对象名_DragDrop(Source As Control,X As Single,Y As Single),DragOver事件过程可确定拖动开始后和控件放在目标位置前发生的事情。 DragOver事件过程可控制一个拖动操作完成后将发生的事情。 注意:拖动前应首先确定开始拖动的方法。可通过设置DragMode属性和Drag方法实现。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号