1.19k likes | 1.34k Views
第 4 章 Visual Basic 窗体设计. 本章学习要点 了解 Visual Basic 的窗体对象 掌握主要窗体控件的设计及应用 掌握 ActiveX 控件的设计及应用. 本章学习要点. 人机界面设计的优劣将直接反映一个计算机应用系统的设计水平,对于计算机信息系统设计尤其如此。因此,为数据库应用系统设计操作性能良好的操作界面,是一项至关重要的内容。 Visual Basic 的窗体对象是提供给用户最主要的操作界面。在设计完成数据库和数据表的设计后,就应该为人机操作界面设计合适的窗体了。. 本章学习要点.
E N D
第4章 Visual Basic窗体设计 本章学习要点 • 了解Visual Basic的窗体对象 • 掌握主要窗体控件的设计及应用 • 掌握ActiveX控件的设计及应用
本章学习要点 • 人机界面设计的优劣将直接反映一个计算机应用系统的设计水平,对于计算机信息系统设计尤其如此。因此,为数据库应用系统设计操作性能良好的操作界面,是一项至关重要的内容。Visual Basic的窗体对象是提供给用户最主要的操作界面。在设计完成数据库和数据表的设计后,就应该为人机操作界面设计合适的窗体了。
本章学习要点 • Visual Basic的窗体对象是提供给用户操作数据库数据最主要的人机界面。无论是需要进行数据查看,还是需要对数据库中的数据进行追加、修改、删除等编辑操作,允许用户直接在数据表中进行操作绝对是极不明智的选择。而应该为这些操作需求设计相应的窗体,使得应用系统的用户针对数据库中数据所进行的任何操作均只能在窗体中进行。只有这样,应用系统数据的安全性、功能的完善性以及操作的便捷性等一系列指标方能真正得以实现。
本章学习要点 • 通过前面几章的学习,可以很清楚地看到,数据库中的数据可以显示在数据表中,而且可以在数据表中接收相关操作。但是,数据表不能提供针对数据操作的任何保护与限制措施。而窗体设计不同,可以通过合理地设计,使得数据库中的数据在窗体中的显示形式、所受到的保护以及对非法操作的限制等各项所需要的功能都有可能按照设计者的意图得以实现。因此,令数据在窗体得以显示,并在其中接收操作者的相关操作,其操作的方便性和安全性方能满足实际应用的需要。
本章学习要点 • 本章介绍Visual Basic窗体对象的设计方法及其应用实例
4.1 窗体对象概述 • 4.1.1 窗体(Form) • 窗体对象是 Visual Basic 应用程序的基本构造模块。它是Visual Basic 应用程序中常见的对象,也是程序设计的基础,它用于定义一个窗口。在运行应用程序时,与用户交互操作的实际窗口。窗体有自己的属性、事件和方法,用来控制窗体的外观和行为。 • 一个Visual Basic 应用程序含有多个窗体。窗体是应用程序的编程窗口和对话框。一个窗体可有多个控件,各种控件对象必须建立在窗体上。一个窗体对应一个窗体模块。
标题栏 关闭按钮 控制菜单 最小化按钮 最大化按钮 边框 工作区 4.1 窗体对象概述 • 4.1.2 窗体的结构 • Visual Basic的窗体由5部分组成,如图4-1所示。 图4-1 窗体的结构
4.1 窗体对象概述 • (1)标题栏 标题栏用来显示窗体的名称。 • (2)控制框 控制菜单对窗体起控制作用。程序运行时,在窗体激活的情况下双击窗体图标可以使窗体关闭,单击则引出下拉式系统菜单,包括还原、移动、大小、最小化、最大化等选项。 • (3)控制按钮 包括最大化按钮、最小化按钮和关闭按钮。 • (4)工作区 各种控件在窗体中设置。 • (5)边框。
4.1 窗体对象概述 • 4.1.3 窗体的属性 • 所有的Visual Basic程序中的对象都有属性,属性式Visual Basic程序中使用最频繁的概念之一。窗体的属性决定了窗体的外观和操作。窗体的大多数属性既可以通过属性窗口设置,也可以在程序代码中设置,只有少数属性只能在设计阶段设置。下面介绍一些窗体常用的属性。
4.1 窗体对象概述 • 1.Name和Caption属性 • Name属性用来设置窗体的名称,在程序代码中用窗体的名字代表某个窗体。它是磁盘上的窗体文件名,扩展名为.frm。 • Caption属性用来设置显示在窗体标题栏的名称。 • 2.AutoRedraw属性 • AutoRedraw属性用来设置是否自动重绘图形。 • 如果在窗体上已经完成某个图形的制作,在最小化窗体或改变窗体尺寸之后再恢复原窗体大小,图形将消失。将窗体的AutoRedraw属性由缺省设置False改为True后,窗体中的图形就被保存下来,需要时会自动重新显示。
4.1 窗体对象概述 • 3.BackColor属性 • BackColor属性设置窗体的背景颜色。 • 4.BorderStyle属性 • BorderStyle属性设置窗体的边界类型。边界类型可取6个值,取值含义分别如下: • (1)0代表无边界; • (2)1代表固定单边界; • (3)2代表可调尺寸边界; • (4)3代表固定对话框; • (5)4代表固定工具窗口; • (6)5代表可变大小工具窗口。
4.1 窗体对象概述 • 5.ControlBox属性 • ControlBox属性设置窗体是否具有标题栏左右两侧的控制菜单栏。ControlBox属性的缺省值为True,所有控制菜单栏保留;若改为False则控制菜单栏都消失。 • 6.Font属性 • Font属性设置窗体中输出字符的字体类型、字形、大小、是否加下划线或删除线等。 • 7.ForeColor属性 • 与BackColor属性相反,ForeColor属性设置窗体的前景色。
4.1 窗体对象概述 • 8.Icon属性 • 窗体的控制图标由窗体中Icon属性的值决定,也是窗体最小化时的图标。通过单击Icon属性右侧的“”按钮,选择合适的图标文件。 • 9.Picture属性 • Picture属性设置在窗体上显示的图片。通过单击Picture属性右侧的“”按钮,选择合适的图形文件。 • 10.Height、Width、Top和Left属性 • Height设置窗体的高度;Width属性设置窗体的宽度;Top属性设置窗体顶端的坐标值;Left属性设置窗体左端的坐标值。
4.1 窗体对象概述 • 11.Visible属性 • Visible属性决定窗口是否可见。缺省设置True表示窗体是可见的;当设置为False时窗体是不可见的。 • 12.WindowState属性 • WindowState属性用来设置运行时窗体的状态,三个取值的含义分别如下: • (1)0代表正常状态,边界可见; • (2)1代表最小化状态,仅显示图标; • (3)2代表最大化状态,充满整个屏幕。
4.1 窗体对象概述 • 4.1.4 窗体的事件 • Visual Basic应用程序是典型的事件驱动程序,运行时交互性强,由用户的操作决定程序的流程,而窗体是用户经常操作的对象,所以窗体的事件十分重要。窗体的事件很多,下面介绍常用的事件。
4.1 窗体对象概述 • 1.Load和Unload事件 • 加载一个窗体时就响应Load事件,它的作用是对变量和属性做初始化。而当卸载一个窗体时响应Unload事件,它可以为用户提供存盘等信息,完成在窗体关闭前的一些工作。 • 2.Initialize事件 • Initialize事件在窗体创建时发生,它发生在Load事件之前,主要初始化某些变量值。
4.1 窗体对象概述 • 3.Activate和Deactivate事件 • 当窗体被激活成为活动窗口时响应Activate事件,Deactivate事件恰恰与Activate事件相反,在其它窗体被激活时响应Deactivate事件。这些事件对初始化或结束窗体行为十分方便。例如,在 Activate 事件中,可以编写代码突出显示一个特定文本框中的文本;在 Deactivate 事件中,可以把更改保存到一个文件或数据库中。
4.1 窗体对象概述 • 4.Click和DblClick事件 • 当单击窗体中的空白部分响应Click事件,而双击窗体中的空白部分则响应DblClick事件。 • 5.Resize事件 • 无论是因为用户交互,还是通过代码调整窗体的大小,都会触发一个 Resize 事件。当窗体尺寸变化时,允许在窗体上进行移动控件或调整控件大小等操作。
4.1 窗体对象概述 • 4.1.5 窗体的方法 • 设计窗体除了设置属性、编写事件驱动程序外,还经常利用窗体的方法对窗体进行设计。常用的窗体方法如下
4.1 窗体对象概述 • 1.Print方法 • Print方法可以在窗体上显示文本字符串和表达式的值,并可在其它图形对象或打印机上输出信息。其一般格式是: • [窗体名字].Print • 如果打印当前窗体可以省略窗体名字。用Print方法必须首先显示窗体。打印的内容是整个的窗体图像,包括菜单栏、标题等。
4.1 窗体对象概述 • 2.Cls方法 • Cls方法用来清除运行时Form 或 PictureBox 所生成的图形和文本。其使用格式是: • [窗体名字]. Cls • Cls 将清除图形和打印语句在运行时所产生的文本和图形,而设计时在 Form 中使用 Picture 属性设置的背景位图和放置的控件不受 Cls 影响。如果激活 Cls 之前 AutoRedraw 属性设置为 False, 调用时该属性设置为 True,则放置在 Form 或 PictureBox 中的图形和文本也不受影响。 这就是说,通过对正在处理的对象的 AutoRedraw 属性进行操作,可以保持 Form 或 PictureBox 中的图形和文本。
4.1 窗体对象概述 • 3.Show和Hide方法 • 使用Show方法可以加载并显示窗体。Show方法的格式是: • 窗体名.Show Style • Style是可选的整数,它用以决定窗体是模式还是无模式 。如果 style 为 0,则窗体是无模式的;如果 style 为 1,则窗体是模式的。 • 如果调用 Show 方法时指定的窗体没有装载,Visual Basic 将自动装载该窗体。 • 当 Show 在显示无模式窗体时,随后遇到的代码则要执行。当 Show 在显示模式窗体 (modal form) 时,则随后的代码直到该窗体被隐藏或卸载时才能执行。 • 当 Show 在显示模式窗体时,除了模式窗体中的对象之外不能进行输入(键盘或鼠标单击)。对其它窗体进行输入前程序必须隐藏或卸载模式窗体(通常是处于响应用户某些操作状态)。
4.1 窗体对象概述 • 在模式窗体显示时,虽然应用程序中的其它窗体失效,但其它应用程序不会失效。应用程序的启动窗体在其 Load 事件调用后会自动出现。 • Hide方法用以隐藏窗体对象,但不能使其卸载。其使用语法是: • 窗体名. Hide • 隐藏窗体时,它就从屏幕上被删除,并将其 Visible 属性设置为 False。 用户将无法访问隐藏窗体上的控件,但是对于运行中的 Visual Basic 应用程序,隐藏窗体的控件仍然是可用的。 • 窗体被隐藏时,用户只有等到被隐藏窗体的事件过程的全部代码执行完后才能够与该应用程序交互。 • 如果调用 Hide 方法时窗体还没有加载,那么 Hide 方法将加载该窗体但不显示它。
4.1 窗体对象概述 • 4.Move方法 • 使用Move方法移动窗体。其格式是: • 窗体名. Move left[,top[,width[,height]]] • 其中,left是必须有的,指示窗体左边的水平坐标;top是可选的,指示窗体顶边的垂直坐标;width是可选的,指示窗体的宽度;height是可选的,指示窗体的高度。
4.1 窗体对象概述 • 4.1.6 窗体的类别 • 应用程序界面根据窗体的个数不同分为两种类型:单文档界面和多文档界面。 • 1.单文档界面(SDI,Simple Document Interface) • 单文档界面应用程序中在同一时间内只能打开一个窗体,如果想要打开另一个文档,必须先关掉已经打开的文档。例如Windows中的“记事本”应用程序就是单文档界面。 • 要决定应用程序使采用单文档界面还是多文档界面,要根据应用程序的目的。比如,日历程序可以设计称单文档界面,因为它很少需要同时打开多个日历。建立一个单文档界面的步骤:
4.1 窗体对象概述 • (1)选择“文件→新建工程”菜单项,出现如图4-2所示的界面; 图4-2 新建新工程文件
4.1 窗体对象概述 • (2)在“新建工程”对话框中选择“新建”选项卡; • (3)选择“标准EXE”类型文件; • (4)单击“确定”按钮,创建了工程1的1个单文档窗体Form1,如图4-3 所示。
4.1 窗体对象概述 图4-3 新建的单文档窗体
4.1 窗体对象概述 • 2.多文档界面(MDI,Multiple Document Interface) • 多文档界面应用程序中,允许同时显示多个文档。多文档界面是典型的Windows应用程序界面,例如Microsoft Excel和Microsoft Word都具有多文档界面。 • 多文档界面包括一个父窗体和若干个子窗体,子窗体在父窗体内,依从与父窗体。父窗体用作于其他窗体的容器,为其他窗体提供工作空间。
4.1 窗体对象概述 • 例4-1 设计一个多文档界面,创建步骤如下: • (1)启动Visual Basic,选择 “文件→新建工程”菜单项,在“新建工程”对话框中选择“VB应用程序向导”项目类型,单击“确定”按钮。 • (2)在“应用程序向导-介绍”对话框中单击“下一步”按钮。 • (3)在“应用程序向导-界面类型”对话框中选择“多文档界面”选项,再单击“下一步”按钮。 • (4)在“应用程序向导-菜单”对话框中选择自己所需的菜单项,再单击“下一步”按钮。
4.1 窗体对象概述 • (5)在“应用程序向导-自定义工具栏”对话框中选择自己所需的工具栏,再单击“下一步”按钮。 • (6)在“应用程序向导-Internet连接”对话框中选择“否”选项,再单击“下一步”按钮。 • (7)在“应用程序向导-标准窗体”对话框中选择自己所需的窗体,再单击“下一步”按钮。 • (8)在“应用程序向导-数据访问窗体”对话框中选择是否生成基于该数据库的表和查询的窗体,然后单击“下一步”按钮。 • (9)在“应用程序向导-已完成!”对话框中单击“完成”按钮。 • 这样通过VB的应用程序向导建立了工程1、一个MDI父窗体frmMain和一个子窗体frmDocument,如图4-4所示。
4.1 窗体对象概述 图4-4 具有多文档界面的工程1
4.1 窗体对象概述 • 通过运行工程1,选择“窗口→新建窗口”菜单项,可以创建多个子窗口,如图4-5所示。 图4-5 新建子窗口
4.1 窗体对象概述 • 如果新建了3个子窗体,选择图4-5中“窗口→横向平铺”菜单项,执行效果如图4-6所示。若选择图4-5中“窗口→纵向平铺”菜单项,执行效果如图4-7所示。 图4-6 横向平铺3个子窗口
4.1 窗体对象概述 图4-7 纵向平铺3个子窗口
4.1 窗体对象概述 每个菜单项的代码如下: ‘层叠窗口’ Private Sub mnuWindowCascade_Click() Me.Arrange vbCascade End Sub ‘横向平铺’ Private Sub mnuWindowTileHorizontal_Click() Me.Arrange vbTileHorizontal End Sub ‘纵向平铺’ Private Sub mnuWindowTileVertical_Click() Me.Arrange vbTileVertical End Sub ‘排列图标’ Private Sub mnuWindowArrangeIcons_Click() Me.Arrange vbArrangeIcons End Sub 通过向导建立的工程具有多种功能,而且源代码也随之生成,可以快速了解多文档界面的设计方法。
4.2 窗体基本控件及其应用 • 窗体是一个容器对象,可以包含其他对象。窗体中包含的对象也称为控件,这是因为它们中的大多数都可以对某些事件进行相应的处理。控件是用户界面的基本要素,是进行可视化程序设计的重要基础。 • 各个控件具有很多相同的属性、方法和事件,也有其特有的一些属性、方法和事件,设计窗体就必须很好地掌握窗体控件的属性及其应用方法。下面逐个介绍各主要的窗体控件的应用方法及其属性设置。 • 大多数控件都有标识控件名称的Name属性、标识对象标题的Caption属性、有效属性Enable、可见属性Visible、标识控件位置和大小的Top、Left、Height、Width属性、定义背景色的BackColor属性、定义前景色的ForeColor属性和定义字体类型的Font属性,这些属性的使用方法和窗体属性的设置都是一样的,这里不再赘述。还有一些常用但容易被忽略的共同属性,下面做简单的介绍。
4.2 窗体基本控件及其应用 • 1.Index属性 • 如果在属性窗口为Index属性赋0或大于0的值,表示该控件是控件数组元素。可以用这种方法建立控件数组。 • 使控件成为控件数组还有另外一个办法:在窗体上加两个同类型的控件并赋以相同的名字,例如两个同名命令按钮,这时系统会自动弹出对话框,询问“已经有一个控件‘Commandl’。创建一个控件数组吗?”,单击“是”,则形成Commandl控件数组,在属性窗口的对象列表框可以看到两个控件的索引值分别为0,1。 • 2.TabIndex属性 • 任何能接受焦点的控件都有TabIndex属性。TabIndex属性确定用户按Tab键访问控件的顺序。第1个加入的控件其TabIndex值为0,然后以1为步长递增。 • 3.TabStop属性 • 任何能接受焦点的控件都有TabStop属性。TabStop属性确定是否可以按Tab键将焦点移到控件上。其缺省值为True,表示可以;若设为False,表示按Tab键时控件不接受焦点。 • 4.ToolTipText属性 • 当鼠标指针停留在控件上,用ToolTipText属性可以在提示条中显示文本信息。其作法很简单,在属性窗口的ToolTipText属性栏内输入说明性文本即可实现。 • 以上是大多数控件的共同属性,下面分别介绍各个控件的使用方法。
4.2 窗体基本控件及其应用 • 4.2.1 框架(Frame) • 框架(Frame)主要用做控件的容器,对窗体上的控件进行分组,也用于修饰界面。框架的缺省名为Frame1,在工具箱中的图标如图4-8所示。 图4-8 框架
4.2 窗体基本控件及其应用 • 在使用框架时必须先画出框架,再在框架里面画其它控件,放在容器中的控件跟随其容器移动,删除框架时连同其内部所有控件一起删除。 • 要将控件放在框架中,可以直接在框架中画控件。也可以将事先画好的控件复制到剪贴板,再选中框架,然后粘贴控件。 • 要检查控件是否在框架中,可以用鼠标拖动框架,容器中的控件应该能够随框架移动。也可以试用鼠标拖动控件,如果控件不能移出框架,也说明控件已经放在了框架中。如果在拖动框架时,控件不能随框架移动,或者拖动控件时,可以将控件移出框架,说明控件不在框架中,即使控件与框架放在了一起。 • 要同时选中框架中的多个控件,可以在按住Ctrl键的同时拖动鼠标,也可以按住Shift键,再逐个单击所需的控件。
4.2 窗体基本控件及其应用 例4-2 在用户管理窗体(Form2)中使用的框架(Frame),将选项框都放在了Frame1(图中被选中区域)中,如果选项类别不同,可放置多个框架(Frame)以示区别。Frame1的应用如图4-9所示。 图4-9 框架的应用
4.2 窗体基本控件及其应用 • 4.2.2 标签(Label) • 标签控件(Label)是用来显示文本的,但用户不能编辑这些控件。标签多用于注释、提示、标题等,可用此控件标识窗体的对象,例如,说明单击控件时将执行何种操作,或者在运行时为响应应用程序的事件而显示相应的信息。 • 标签的缺省名为Label1,在工具箱中的图标如图4-10所示。 图4-10 标签
4.2 窗体基本控件及其应用 • 1.属性 • (1)Alignment属性 • Alignment属性决定标签中标题的放置方式,其中: • 0:表示左对齐,为缺省设置; • 1:表示右对齐; • 2:表示居中对齐。 • (2)Autosize属性 • 该属性有两种设置值:True和False。属性设置为True,标签控件可水平扩充以适应文本内容大小的变化;属性设置为False(缺省设置),标签控件不会因文本的改变而变化。为使控件能够自动调整以内容多少,一般将其设置为True。 • (3) BorderStyle属性 • 标签控件的属性有两种设置值:0和1。取0时标签无边界,为缺省设置;取1时表示标签为单线边框。 • (4) WordWrap属性 • 该属性也有两种设置值:True和False,其中False是缺省设置,表示标签不会改变垂直方向大小来适应文本的需要。如设置为True,则标签控件的内容会自动换行并垂直扩充。
4.2 窗体基本控件及其应用 • 2.事件 • (1)Click事件:单击鼠标左键或程序中包含触发该事件的代码时发生此事件。 • (2)DblClick事件:双击鼠标左键时触发该事件。 • (3)Change事件:用户改变文本时触发该事件。
4.2 窗体基本控件及其应用 • 4.2.3 文本框(TextBox) • 文本框用于运行时显示用户输入的信息,在设计和运行时为控件的Text属性赋值。和标签不同的是用户可以对文本框中的文本进行编辑。 • 文本框的缺省名为Text1,在工具箱中的图标如图4-11所示。 图4-11 文本框
4.2 窗体基本控件及其应用 • 1.属性 • 该属性决定文本框中输入的数目是否有长度限制,缺省值0表明对单行文本框只受操作系统内存的限制,若该属性被设置为大于0的数,该数表示能够输入的最大字符数。 • (1)Multiline属性 • 该属性表明文本框是否可以接收和显示多行文本,仅在运行时可读。该属性有两种设置值:True和False。True设置允许有多行文本,False(缺省设置)忽略单行时的回车换行和限制数据,即仅在一行显示或接收文本。 • (2)MaxLength属性 • MaxLength属性确定文本框在多行时可以接收的最大字符数,如果设置为0,则可以接受32766个字符。要接受更多的字符,应该把MaxLength属性设置为所需要的数值,但不能超过65535个字符。 • (3)PasswordChar属性 • PasswordChar属性在缺省情况下为空字符串,文本框显示键入的文本。如果设置为某个字符,例如输入“*”,则程序运行时在文本框键入文本时显示*,不显示文本;但文本框接收的仍然是键入的文本,该属性提示用户在文本框中输入口令。 • (4)ScrollBars属性 • 该属性指定文本框是否有水平或垂直滚动条,它有四种设置值:0、1、2、3。0设置(缺省)表示没有水平或垂直滚动条,1表示有水平滚动条,2表示有垂直滚动条,3表示既有水平滚动条又有垂直滚动条。对于设置值为1,2或3的文本框,用户必须把Multiline属性设置为True。
4.2 窗体基本控件及其应用 • 2.事件 • 与文本框相关的事件除Click(单击)、DblClick(双击)之外常见的还有以下几种: • (1)Change事件 • 此事件用于改变文本框的内容,当用户改变文本或用代码改变文本框内容时发生此事件。 • (2) GotFocus事件 • 文本框获得焦点,单击对象或使用SetFocus改变代码中的焦点时,会触发该事件。 • (3) LostFocus事件 • 文本框失去焦点时触发该事件。失去焦点可能是因为用户选中了其它对象或程序代码移动了焦点。 • 3.方法 • 常用的文本框方法是SetFocus,它可以使文本框获得焦点。其语法是: • 对象名. SetFocus。
4.2 窗体基本控件及其应用 • 4.2.4 命令按钮(CommandButton) • 使用户与应用程序交互的最简便的方法是给用户提供一个按钮。命令按钮是一种很常用的控件,命令按钮用来实现某种功能操作,当用户选中按钮时,不仅会执行相应操作,还会使该按钮看上去象被按下并释放一样。无论何时,只要用户单击按钮,就会调用 Click 事件过程。将代码写入 Click 事件过程,执行想要执行的动作。 • 命令按钮的缺省名为Command1,在工具箱中的图标如图4-12所示。 图4-12 命令按钮
4.2 窗体基本控件及其应用 • 1.属性 • (1)Cancel属性 • 该属性决定窗体中的命令按钮是否是Cancel按钮。如果设置其属性为True,则命令按钮是取消按钮;如设置为False,则命令按钮不是取消按钮。在一个窗体中只允许有一个Cancel按钮。若将一个命令按钮的Cancel属性设置为True,则窗体中其他命令按钮的Cancel属性会自动被设置为False,并且当此窗体是活动窗体时,通过单击它或按Esc键或当此按钮有焦点时按Enter键,用户可选中此命令按钮。 • (2) Default属性 • 该属性把窗体中的命令按钮作为Default按钮。如果该属性被设为False,则此命令按钮不是Default按钮。如果该属性被设置为True时,则此命令按钮为Default按钮。窗体中只允许有一个按钮是Default按钮。当一个按钮的Default设置为True时,窗体中其他按钮的Default被自动设置为False。在很多情况下把OK按钮的Default属性设为True,这时用户可键入Enter键来选择OK按钮。 • (3)Style属性 • 其缺省设置为0-Standard。当企图改变按钮颜色或为按钮添加图片时,都需要首先设定Style为1-Graphical。 • (4)Picture属性 • 在Style为1-Graphical时可以为命令按钮添加图片,单击Picture属性右侧的“”按钮,选择合适的图形文件。
4.2 窗体基本控件及其应用 • 2.事件 • 命令按钮的常见事件是Click。单击命令按钮时将触发按钮的 Click 事件并调用已写入 Click 事件过程中的代码。 • 单击命令按钮后也将生成 MouseDown 和 MouseUp 事件。按下按钮时触发MouseDown事件,抬起时触发MouseUp 事件。如果要在这些相关事件中附加事件过程,则应确保操作不发生冲突。控件不同,这三个事件过程发生的顺序也不同。CommandButton 控件中事件发生的顺序为:MouseDown、Click、MouseUp。 • 注意:如果用户试图双击 CommandButton 控件,则其中每次单击都将被分别处理;即 CommandButton 控件不支持双击事件