第1章 VB程序设计初步
更新时间:2024-05-30 15:47:01 阅读量: 综合文库 文档下载
第一章 VB程序设计初步
1.1 Visual Basic的发展
Visual Basic(以下简称VB)是Microsoft公司于1991年推出Windows应用程序开发工具。Visual一词具有“可视化的”、“形象化的”的含义,在语言功能方面,VB与早期的Basic语言基本兼容,但由于VB具有良好的图形用户界面(Graphic User interface,即GUI),因此有人称它为可视化的Basic语言。和Basic语言相比,VB提供的一系列可视化设计工具,大大简化了应用程序界面的设计工作,不仅易学易用,同时其编程系统采用了面向对象、事件驱动机制,非专业人员也可以使用该语言工具方便地完成基于Windows的应用程序开发,因而一经推出,便获得了巨大成功。从1991年至1997年,微软相继推出了VB1.0,VB2.0,VB3.0,VB4.0及VB5.0版,1998年发布的Microsoft Visual Studio 98中包含了VB6.0,2000年又推出了VB.net。VB 5.0以前的版本主要用于16位应用程序开发,VB6.0则专为32位操作系统设计。本书主要介绍VB6.0。
VB6.0包括三种版本,分别为学习版、专业版和企业版。三种版本适于不同层次的用户。 (1)学习版 是VB的基础版本,该版本包含了所有VB的标准控件及网格控件、数据绑定控件和Tab对象。适合初学者用来学习开发Windows应用程序。
(2)专业版 为专业编程者提供了一整套功能完备的开发工具,包括了学习版中的全部功能,同时加入了ActiveX 控件、Internet控件和报表控件等。
(3)企业版 该版本包含了专业版的全部功能,增加了自动化管理器、部件管理器、数据库管理工具、Microsoft Visual Source Safe面向工程版的控制系统等。
如无特别说明,本书中内容均基于VB6.0企业版作介绍,所有程序在VB6.0企业版下运行通过,大多数程序可以在专业版和学习版中运行。
1.2 VB集成开发环境
1.2.1 启动和退出
启动VB的常用方法有两种:
◆使用“开始”菜单中的“程序”命令,选择“Microsoft Visual Studio 6.0中文版”子菜单中的“Microsoft Visual Studio 6.0中文版”程序。
◆为VB6.0在桌面上建立快捷方式,此后每次启动只需双击其快捷方式即可。
启动后的窗口如图1-1所示,在窗口中列出了VB能够建立的应用程序类型,窗口的左上角有“新建”、“现存”、“最新”三个选项卡。如果单击“现存”或“最新”选项卡,则可分别显示现有的或最新的VB应用程序文件名列表,供用户从列表中选择要打开的文件名,此两个选项卡均是针对已保存过的VB程序而使用,对初学者或第一次建立某个VB应用程序,一般选择“新建”选项卡。
图1-1 VB启动窗口
单击“新建”选项卡,显示“新建工程”对话框,如图1-2所示。对话框中显示了在VB中使用的多种工程类型,可满足不同的需要,主要有:
图1-2 “新建工程”对话框
(1)标准EXE 建立一个标准的EXE工程。 (2)ActiveX EXE和ActiveX DLL 两种应用程序只能在专业版和企业版中建立。功能上两种程序是一致的,只是包装不同。前者包装成EXE(可执行)文件,后者包装成DLL(动态链接库)。
(1) ActiveX控件 只能在专业版或企业版中建立,主要用于开发用户自已定义的ActiveX控件。
(2) VB应用程序向导 该向导用于在开发环境下直接建立新的应用程序框架。 (3) 数据工程 主要提供开发数据报表应用程序的框架。
(4) IIS应用程序 用VB代码编写服务器端的Internet应用程序。
(5) 外接程序 选择该类型,可以建立自己的VB外接程序,并在开发环境中自动打开连接设计器。
(6) DHTML应用程序 只能在专业版或企业版中建立。可以编写响应HTML页面操作的VB代码,并可把处理过程传送到服务器上。
(7) VB企业版控件 用来在工具箱中加入企业版控件图标。
以上多种工程类型,第一种为初学者常用。当我们在对话框中选择要建立的工程类型,如“标准EXE”,然后单击“打开”按钮,可进入VB集成开发环境,如图1-3,集成环境中有多个窗口,在下一节中我们将详细介绍。
图1-3 VB集成开发环境
退出VB集成开发环境也有多种方法,如:
◆打开图1-3所示环境中的“文件”菜单,单击“退出”或按Alt+Q.。 ◆ 单击VB应用程序窗口右上角关闭窗口按钮
◆ 单击VB应用程序窗口左上角控制菜单中的“关闭”子菜单或按Alt+F4。
如果在退出VB前没有保存当前应用程序相应文件,则系统在退出时会弹出保存文件的提示,我们可根据需要保存相应文件,保存方法详见1.5节。
1.2.2 VB集成开发环境
如图1-3所示,VB6.0集成开发环境具有微软应用软件相似的窗口组成,但也有几个VB独立的窗口,本节内容有助于认识VB集成开发环境。 1.2.2.1 主窗口 1. 标题栏和菜单栏
类似于Windows其它应用程序窗口,VB的标题栏最左上角是控制菜单,最右上角有最小化、最大化(还原)和关闭按钮。控制菜单的右侧显示当前激活的工程名称及当前工作模式,如图1-3中所示工程名称为“工程1”,工作模式为Microsoft Visual Basic [设计]。VB的工作模式有三种:
◆设计模式 在此模式下可进行用户界面的设计和代码的编写。 ◆运行模式 运行应用程序,但不可编辑用户界面及代码。
◆中断模式 暂时中断应用程序的运行,按F5键程序从中断处继续运行。此模式下可编辑代码,不可编辑界面,并会弹出“立即”窗口,“立即”窗口的作用后面将作介绍。
菜单栏中有“文件”、“编辑”等13个菜单项,包含了VB编程中常用的命令。各菜单功能简介如下:
◆ 文件(File)包含了与访问文件有关的菜单项,用于新建、打开、保存、显示最近
打开的工程文件及生成可执行文件等命令。
◆ 编辑(Edit)包含了与代码编辑、控件编辑等有关的菜单项。
◆ 视图(View)包含了显示或隐藏各种窗口的菜单项,如代码窗口、对象窗口、属性
窗口、工具栏等,可通过该菜单在各窗口中切换查看代码或控件。
◆ 工程(Project)包含了与工程管理有关的菜单项,如向工程中添加窗体、模块,
从工程中移除部件等。
◆ 格式(fOrmat)包含了编辑用户界面时对控件进行调整的菜单项,如控件的对齐、
大小的统一等。
◆ 调试(Debug)包含了常用调试VB应用程序的菜单项。
◆ 运行(Run)用于程序启动、设置断点和停止等程序运行的命令。
◆ 查询(Query)包含了操作数据库表时的查询以及其它数据访问命令的菜单项。 ◆ 图表(Diagram)包含了有关图表处理菜单项。
◆ 工具(Tools)用于集成开发环境的设置以及工具的扩展,如向模块和窗体添加过
程、过程属性、向窗体添加菜单等操作。
◆ 外接程序(Add-Ins)主要用于为工程增加和删除外接程序。
◆ 窗口(Windows)包含了与屏幕布局窗口有关的菜单项,如屏幕窗口的层叠、平铺
等。
◆ 帮助(Help)提供帮助信息,此项功能须安装VB MSDN才有效。 2. 工具栏
菜单栏下方的工具栏提供了访问常用菜单命令的快捷方式,工具栏中大多数按钮都对应菜单中的一条常用命令,初学者可将鼠标在工具栏各按钮上短时停留,根据鼠标提示信息获取该按钮的功能提示。VB中有标准工具栏、编辑工具栏、窗体编辑器工具栏、调试工具栏等,一般编程时会使标准工具栏显示出来,其它工具栏根据需要通过执行“视图”菜单中“工具栏”子菜单的级联菜单中的相应命令,来显示(或隐藏)。下表1-1所示为标准工具栏上各命令按钮的名称及其功能。
表1-1 工具栏中各图标简介 按钮名称 添加Standard EXE工程 添加窗体 菜单编辑器 功 能 添加一个新工程,相当于“文件”菜单中的“添加工程”命令 在工程中添加一个新窗体,相当于“工程”菜单中的“添加窗体”命令 打开菜单编辑对话框,相当于“工具”菜单中的“菜单编辑器”命令 打开工程 剪切 贴 查找 保存工程 粘打开一个已有的工程或保存一个工程 将选定内容剪切、复制剪贴板及把剪贴板内容粘贴到当前插入位置 打开“查找”对话框,相当于“编辑”菜单中的“查找”命令 撤销当前修改及对“撤消”的反操作 复制 撤消和重复 启动束 工程资源管理器 属性窗口 窗体布局窗口 对象浏览器 工具箱 快速打开或切换至工程资源管理器窗口 快速打开或切换至属性窗口 快速打开或切换至窗体布局窗口 打开“对象浏览器”对话框 快速打开或切换至工具箱窗口,相当于“视图”菜单中的“工具箱”命令 打开数据视图窗口 打开Visual Component Manager对话框 中断 结运行、暂停、结束一个应用程序的运行的快捷方式 数据视图窗口 Visual Manager
1.2.2.2 其它窗口
Component 除主窗口外,VB集成环境中还有一些其它窗口,如窗体设计器窗口、工具箱窗口、属性窗口、工程资源管理器窗口、调色板窗口、代码窗口、立即窗口。
1. 工具箱窗口 如图1-4所示,在集成开发环境的左边区域窗口为工具箱窗口。工具箱窗口内有一个选项卡“通用(General)”,内含21个图标,除指针外,其余20个均为VB可视标准控件。指针仅用于移动窗体和控件及调整它们的大小。用户可通过“工程”菜单中“部件”命令来装入其它控件到工具箱中。若要不显示工具箱,可直接关闭该窗口,执行“视图”菜单中的“工具箱”命令,可令工具箱再次显示出来。注意,工具箱显示出来后,在代码运行状态下会自动隐藏,返回设计状态又会自动出现。
图1-4 工具箱窗口
除 “通用(General)” 选项卡外,用户还可添加选项卡来定制自己的专用工具,方法是在工具箱任意处单击右键,选择快捷菜单的“添加选项卡”命令,在弹出的对话框中输入新增选项卡的名称,“确定”后即成功添加了一个自定义选项卡(如图1-4),接下来可对新增选项卡加控件,方法有二,一是直接拖动原有选项卡中已有控件至新增选项卡,二是单击选项卡激活后,再通过“工程”菜单的“部件”命令装入其它控件。
2. 窗体设计器窗口
窗体设计器窗口位于集成开发环境的中间,简称窗体(Form),是应用程序最终面向用户的窗口,用户通过与窗体上的控制部件交互可得到结果,各种图形、图像、数据等均通过窗体或窗体中的控件显示出来。每个窗体有一个唯一的名称标识,按照建立窗体时的顺序默认名称为Form1 、Form2 ??,一个应用程序可使用多个窗体,但一个应用程序至少应有一个窗体。
窗体就像一块画布,用户可根据应用程序界面的要求,从工具箱中选取所需要的控件,在窗体上画出来,这是VB应用程序界面设计的第一步。由图1-3我们可以看到窗体窗口操作区布满灰色小点,这是一些网格点,方便用户在窗体上定位和对齐控件。如果想清除网格点,或者想改变网格点之间的距离,可通过执行“工具”菜单的“选项”命令,在“通用”标签中调整。
3. 工程资源管理窗口
工程是组成一个应用程序的所有文件的集合,利用图1-5所示的工程资源管理窗口可以对当前使用的工程进行管理,该窗口中有三个按钮,下接工程资源管理器的文件列表窗口,以层次列表形式列出组成工程的所有文件。三个按钮功能分别为:
◆◆◆
“查看代码”按钮 单击可切换到代码窗口,显示和编辑代码。
“查看对象”按钮 单击可切换到窗体设计器窗口,显示和编辑对象。
“切换文件夹”按钮 单击可隐藏或显示包含在对象文件夹中的个别项目列表。
图1-5 工程资源管理器窗口
4. 代码窗口
每个窗体有自己的代码窗口,专门用于显示和编辑应用程序源代码,如图1-6。打开代码窗口有以下三种方法:
◆ 由“视图”菜单中选择“代码窗口”命令
◆ 从工程资源管理窗口中选择一个窗体或标准模块,并单击“查看代码”按钮。 ◆ 双击要查看或编辑代码的窗体或控件本身。
图1-6 代码窗口
代码窗口中各部分简介如下:
◆“对象”列表框 单击列表框下拉按钮,可显示窗体中的对象名。其中,“通用”表示与特定对象无关的通用代码,一般利用它声明模块级变量或用户编写自定义过程。
◆“过程”列表框 在“对象”列表框选择某一对象名,在过程列表框中选择事件过程名,可构成选中对象的特定事件过程模板,用户可以该模板内输入代码。其中“声明”表示声明模块级变量。
◆“代码编辑区” 用户在此输入和编辑代码。
◆“过程查看”按钮 单击该按钮代码编辑区只能显示出所选定过程代码。 ◆“全模块查看”按钮 显示模块中全部过程代码。 5. 属性窗口
在进行应用程序界面设计时,窗体和控件的属性,如标题、大小、字体、颜色等,可以通过属性窗口来设置和修改。
图1-7 属性窗口
属性窗口如图1-7所示,主要由4个部分组成: ◆对象列表框 单击其右边下拉按钮可打开所选窗体包含对象的列表。
◆属性显示排列方式 有两个选项,用户可以选择“按字母序”或“按分类序”两种方式排列显示属性。
◆属性列表框 属性列表框分为左右两列,左边是各种属性的名称,右边是该属性的默认值,用户可由左边选定某一属性,然后在右边对该属性值进行设置或修改。不同对象所列出的属性值不同。
◆属性含义说明框 当在属性列表框中选定某一属性时,在属性含义说明框中将显示所选属性的含义。初学者可利用该项功能认识和熟悉对象的属性含义。
对象的某些属性的取值是有一定限制的,如对象的可见性(Visible)只能设置True (可见)和False(不可见),而有些属性,如标题(Caption)可以设为任何文本。在实际应用中,不可能也没有必要设置每个对象的所有属性,很多属性都可取其默认值。
仅在设计阶段才能激活属性窗口,方法有: ◆ 选择“视图”菜单中“属性窗口”命令。
◆ 按F4键或单击工具栏上的“属性窗口”按钮。 ◆ 鼠标单击属性窗口的任意位置。 6. 窗体布局窗口
用于指定程序运行时的初始位置。主要为使所开发的应用程序能在不同分辨率的显示器上使用,用户只要用鼠标拖动如图1-8所示“窗体布局窗口”中的Form窗体的位置,就决定了该窗体运行时的初始位置。若一个工程中有多个窗体,在布局窗口同时可以观察多个窗体的相对布局。
图1-8 窗体布局窗口 7. 立即窗口
为调试应用程序而提供,用户或直接在该窗口利用Print方法或直接在程序中用Debug.Print显示所关心的程序中的表达式的值。
1.3 VB程序设计特点
用VB设计应用程序,首先要做的是布置好所需要的控件对象并对这些对象作必要的初始属性设置工作,这是界面设计阶段(后文简称设计阶段),接下来是根据应用程序需求编写相应事件过程代码并调试运行,我们把这一阶段称为编码运行阶段。两个阶段的工作平台可以通过“工程资源管理器”窗口中的“查看对象”和“查看代码”两个按钮来切换。本节将介绍VB程序设计可视化编程、面向对象、事件驱动等特点。
1.3.1 可视化编程环境
传统的面向过程的结构化程序设计,用户界面是通过编写代码来实现,开发者在设计过程中看不到界面的实际显示效果,只有等到编译后程序运行时才能观察到,若对界面要作修改,必须返回到程序中去修改,显然影响了软件开发效率。而在VB中,应用的是面向对象的程序设计(Object-Oriented Programming),把程序和数据封装起来成为一个对象(Object),每个对象都是可视的(Visual),依靠VB提供的可视化设计平台,开发者不必再为界面的设计而编写大量的程序代码,只需按照设计要求的屏幕布局,在屏幕上“画”出各种“部件”即对象,如窗口、命令按钮、菜单等,并设置这些图形对象的位置、大小、颜色等属性, VB将自动产生出界面设计代码,开发者需要编写的只是实现程序功能的那部分代码,这种“所见即所得”的可视化用户界面设计大大提高了程序开发效率。
1.3.2 对象和事件驱动
1.3.2.1 类和对象的概念
对象是具有特殊属性(数据)和行为方式的(方法)的实体,在现实生活中到处可以见到,如一辆汽车可看作一个对象,汽车的型号、价格、外观等特性,称为属性,汽车的启动、加速、减速等是汽车的行为。对象的概念是相对的,根据观察者的角度可将对象分解和综合,如汽车还可分解为车头、车尾,也可分解为发动机、车轮等对象,分解后的对象又都分别具有不同的属性和行为。
类是具有共同抽象的对象的集合,在面向对象的程序设计中,类是创建对象实例的模板,它包含所创建对象的共同属性描述和共同行为特征的定义。例如,各种各样的汽车可以看作一个汽车类,具体到某一辆特定的汽车则称为汽车类的一个实例,即一个对象。
VB中的类可分为两种,一种是由系统设计好,可以直接使用的类;另一类是由用户定义的类,本书中重点介绍第一种。在上一节所介绍的工具箱中的标准控件均为VB系统设计好的标准控件类,当开发者在窗体上“画”一个控件的过程即为该控件类的实例化,将控件类转换成了一个控件对象,以后简称为控件。窗体在VB中是一个特例,它既是类又是对象,当用户向一个工程添加一个新窗体时,实质上就是由窗体类创建了一个窗体对象。
除了用户大量使用的窗体和控件对象外,VB还提供了一些系统对象,如打印机(Printer)、剪贴板(Clipboard)、屏幕(Screen)等,在后面的章节中将涉及系统对象的使用。
1.3.2.2 对象的属性、方法、事件
1. 属性
属性可看作是对象的性质,对象中的数据就保存在属性中。在VB可视化编程中,每种对象都有一组特定的属性。如控件的Name(名称)属性、Caption(标题)属性,Font(字体)属性、Color(颜色)属性等决定了控件对象的外观。VB中要设置或改变对象的属性有两种方法:
◆ 在界面设计阶段可通过图1-7所示的属性窗口的属性框直接设置对象的属性。 ◆ 在编码运行阶段可通过语句来实现属性的改变,格式为:对象.属性=属性值。 两种方法视程序设计需要可选。例如,要将名称为cmdEnd的按钮的Caption属性值设为“退出”的方法:
方法一:直接在该按钮的属性框中将其默认的Caption属性值“command1”修改为“退出”。
方法二:在事件过程代码中书写语句:cmdEnd.Caption=”退出”。 2. 方法
方法是对象本身内含的特殊函数和过程,用于完成某种特定的功能。VB系统本身已将一些通用的过程和函数编写好并封装起来了,作为方法供用户直接调用。方法只能在代码中使用,调用格式为:
[对象名称].方法 [参数列表]
其中,[ ]中为可选项。若省略了对象名称,则表示当前对象,一般指窗体对象,建议初学者不要省略。
例如:
Form1.cls ‘调用cls方法,用于清除窗体Form1上显示的内容 Print “Visual Basic 6.0” ‘调用Print方法在当前窗体上显示“Visual Basic 6.0”文字
3. 事件、事件过程、事件驱动
(1)事件 事件简单说就是发生在某对象上的事情。如鼠标的单击事件(Click)、双击事件(Dblclick),键盘按下事件(KeyPress)等。每种对象能响应的事件是不同的,VB系统为每个对象预先定义好了一系列事件。
(2)事件过程 当在某对象上发生了事件后,应用程序就要处理这个事件,处理的过程称为事件过程,事件过程是指附在该对象上的程序代码,VB应用程序设计的主要工作就是为对象编写事件过程中的程序代码。事件过程的语法格式如下:
Private Sub 对象名_事件名([参数列表]) ? 处理事件过程相应代码
End Sub
格式中,对象名是指该对象的Name属性值,事件名是由VB定义好的该对象能识别的事件。
【例1.1】,单击命令按钮command1,改变当前窗体的标题栏显示文字为“事件过程示例”,对应事件过程代码如下:
Private Sub Command1_Click( )
Form1.Caption = \事件过程示例\
End Sub
(3)事件驱动 在VB中程序执行后等待某个事件的发生,然后去执行处理此事件的事件过程,待事件过程执行完毕后,系统又处于等待某事件发生的状态,这就是事件驱动的程序设计方式。事件发生的顺序决定了代码执行顺序,若事件不被驱动,则该事件相应的事
件过程代码永远不执行。这种程序执行方式和传统的面向过程的应用程序执行方式完全不一样。因此,一个典型的VB应用程序的执行步骤可分解为:
◆ 启动应用程序,装载和显示窗体
◆ 等待某事件发生,事件发生后,执行相应事件过程。本步骤重复执行,直至应用程
序结束。
【注意】在一个对象上可能同时发生多个事件,如单击鼠标,同时发生了Click,MouseDown,MouseUp事件,但用户写程序时,仅对需要的事件过程编写代码,无处理过程代码的事件为空事件过程,系统对空事件过程不作处理。过程模板是系统自动生成,无需用户输入(自定义过程除外)。 1.3.2.3 VB控件对象的基本操作
用VB进行应用程序设计的过程,实际上就是与一组对象进行交互的过程,VB控件对象使用最为频繁,因此,准确理解控件对象,掌握控件对象(以下简称控件)的基本操作,如建立、命名、选定、复制、删除等,是设计VB应用程序的基础,本小节将介绍VB标准控件的基本操作。
1. 控件的建立(画法)
在窗体上画(建立)一个控件的方法有两种:
◆ 直接在工具箱中双击所需控件图标,如文本框图标,在窗体上即出现一个默认大小
的对象框,用户可在窗体中对其作缩放及移动操作。
◆ 单击工具箱中相应控件图标如文本框图标,将鼠标移到窗体上,此时鼠标光标变为
“+”号(“+”号的中心即为所需控件定位的左上角),将“+”号移到窗体适当位置,按下鼠标左键向右下方拖动至所需大小后释放。
【注意】每单击一次工具箱中相应的控件图标,只能在窗体上画一个相应的控件,如果要画多个某种类型控件,必须多次单击相应的控件图标。
2. 控件的选定
刚画完一个控件后,在该控件的边框上有8个黑色小方块,称为控制柄,此时该控件叫做活动控件或当前控件,对控件的所有操作都是针对活动控件来进行。因此,为了对一个控件进行后续操作,必须先将该控件“激活”。方法很简单,只需单击欲操作的对象就可“激活”,也称为选定了该对象。
如果要同时选定多个对象,有两种方法:
◆ 先选定一个对象,按住Ctrl(或Shift)键不放,再分别单击其它要选定的控件。 ◆ 和Windows下选定多个连续文件或文件夹相似,按下鼠标左键拖动鼠标光标,将欲
选定的对象包围在一虚线框中,再释放。
选定多个对象后,属性窗口中只显示它们共同的属性,如果修改其属性值,则被选定的所有控件的属性都将作相应改变,可同时对多个对象进行相同操作。在被选定的多个控件中,有一个控件的控制柄是实心小方块(其它为空心),这个控件称为“基准控件”。当对被选择的控件进行对齐、调整大小等操作时,将以“基准控件”为准。
3. 控件的复制
复制(拷贝)一个控件步骤如下:
◆ 选定待复制控件,使之呈活动状态。
◆ 单击“编辑”菜单中“复制”命令,将把活动控件复制到剪贴板上。
◆ 执行“编辑”菜单中的“粘贴”,这时屏幕上将显示是否要创建控件数组的对话框,
单击对话框中的“否”按钮,则复制了一个标题(Caption)属性相同而名称(Name)属性不同的控件对象。
【注意】对初学者,最好不要用“复制”和“粘贴”方法来建立控件,因为这样做很容易不小心建成控件数组,有关控件数组的知识将在第四章中学习。
4. 控件的删除
要删除一个控件对象,只需选定该对象,将其变为活动控件,按Delete键即可。 5. 控件的移动和缩放
当控件处于活动状态时,把鼠标光标移到控件边框内任何位置,按住鼠标左键拖动,可将控件移到窗体上任何位置再释放。
对被激活了的控件,直接用鼠标拖拉上、下、左、右四个小方块(控制柄)中的某一个,可以使控件在相应的方向上放大或缩小;如果拖拉位于四个角上的控制柄,则可使该控件同时在两个方向上放大或缩小。
另外,在属性列表中,有四种属性与窗体及控件的位置和大小有关,四种属性分别是Top、Left、Width和Height,窗体和控件的位置由Top和Left属性确定,而Width(表示控件的宽度)和Height(表示控件的高度)属性决定控件的大小,因此我们还可以在属性窗口通过改变控件四种属性值来改变它们的位置和大小。
6. 多个控件的对齐与调整
窗体中的多个控件常需要进行对齐和调整,如多个控件的对齐,多个控件的间距调整,统一大小,前后顺序的调整等。操作方法是:先选定多个待调整的控件,然后使用“格式”菜单;或通过“查看”菜单中的“工具栏”选择“Form Editor”打开窗体编辑工具栏,使用其中的工具作控件的调整操作。
7. 控件对象的命名
每个控件对象都有自己的名称(Name),有了名称才能在程序代码中引用该对象。建立的控件都有默认的名称,如窗体的名称form1、form2、命令按钮的默认名称command1、command2等。为了能见名见义,用户可以属性窗口中设置控件的Name属性来给对象重新命名,注意,名称必须以字母或汉字开头,由字母、汉字、数字串组成,长度<=255个字符,其中可以出现下划线(但最好不用,以免不小心与VB代码中的续行符混淆)。
名称最好有一定意义,一种比较好的做法称为“匈牙利命名法”,即用三个小写字母作为对象的Name属性的前缀。则一个控件的命名采取如下方式:
控件前缀(表示控件的类型)+控件代表的意义或作用
例如:cmdEnd用于表示一个“结束”按钮、frmFirst可为第一个窗体的名称,。 1.3.2.4 VB程序的结构
应用程序是一个指令集合,用于操纵计算机完成指定的操作。VB把用来构造一个应用程序的所有相关文件合称为一个工程(Project)文件,其扩展名为.vbp。VB中使用工程来管理不同文件。一个工程通常包括以下几类文件:
◆ 工程文件(.vbp) 一个工程只有一个工程文件,这管理该工程的所有部件。 ◆ 窗体文件(.frm) 一个窗体对应一个窗体文件,一个应用程序中至少有一个窗体,
也可有多个。该文件中包括窗体及其上控件的属性设置、窗体及变量的说明、事件过程、窗体内的通用过程、外部过程的窗体及声明等。
◆ 窗体的二进制数据文件(.frx) 若一个窗体中包括图片或图标等二进制信息,则
保存窗体文件.frm的同时,会产生一个与该窗体文件具有相同主文件名的.frx文件。
◆ 标准模块文件(.bas) 当应用程序大而复杂,需要设计多个窗体,并在多个
窗体间有共享代码时,可引入标准模块。标准模块可以包含全局或模块级变量、常数、类型、外部过程声明等,标准模块中只能存放通用过程,可供本工程内各窗体调用。一个应用程序允许有多个标准模块。默认应用程序不含标准模块文件,用户需要时可通过“工程”菜单“添加模块”命令添加。
◆ 类模块文件(.cls) 用于创建用户自定义新对象,新对象也含有方法和属性。
默认应用程序不含类模块文件。用户需要时可通过“工程”菜单“添加类模块”命令添加。
◆ 资源文件(.res) 该文件是可选的,包含着不必重新编辑代码就可以改变的位图、
字符串和其它数据。
◆ ActiveX控件的文件(.ocx) 可以添加到工具箱并在窗体中使用。
建立一个大型程序时应先设计好代码的组成结构。如图1-9所示为某工程的模块结构,该工程包含三类模块,即窗体模块、标准模块和类模块。对于简单程序,通常只有窗体模块。
图1-9 工程中的模块结构
1.3.2.5 工程的管理
1. 创建、打开和保存工程
工程文件的操作既可以用菜单中命令也可以用相应的工具栏按钮来完成。 (1) 新建工程和打开工程
选择“文件”菜单“新建工程”命令,系统会提示保存当前工程文件,然后显示出如图1-2所示的“新建工程”对话框,选择“标准.exe”确定后即可新建一个工程,工程的默认文件名为“工程1”。
【注意】单击工具栏上的第一个按钮即“添加Standard EXE工程”按钮并不能达到新建工程的目的,单击该按钮可创建工程组,即在当前工程中添加一个工程,而不是新建工程。这是初学者很容易犯的一个错误。
“文件”菜单的“打开工程”命令,可打开一个已存在的工程文件到当前工作区。该命令在工具栏上有相应的工具按钮,见表1-1。
(2) 保存工程和工程另存为
选择“文件”菜单的“保存工程”命令,是以原有的工程文件名存盘,当某工程是第一次被保存时,系统会弹出“文件另存为”对话框,提示用户输入文件名来保存此工程。保存工程文件的同时保存与该工程有关的修改过的窗体文件和标准模块文件。
“工程另存为”命令是以规定的工程文件名保存工程,通常用于对已有工程修改后的改名存盘。
2. 添加、删除和保存文件
对于包含多个窗体文件或标准模块文件的工程,对每个文件都存在着文件的添加、删除和保存操作,这样,在保存工程文件之前,应先分别使用“文件”菜单中的“保存Form”或“保存Module”等命令来保存窗体文件和标准模块文件。
窗体文件和标准模块文件的添加和删除可以通过“工程”菜单中相应命令来完成。 【注意】窗体文件和标准模块文件既可在VB工程中删除,也可在VB之外删除。如果在VB外删除一个文件,则VB不能更新相应的工程文件,这样,在打开该工程文件时,将显示文件丢失的出错信息。
1.4窗体及常用控件
由VB程序设计特点我们可以了解到,用VB来编写应用程序,控件的属性及设置非常重要,读者在学习编程的过程中,一定要注意把握这点。为了后续章节的学习方便,在本小节中将简单介绍窗体及几个常用控件的基本属性,更多的常用控件将在本书的第六章中学习。
1.4.1窗体及控件的基本属性
根据1.3.2.2节的知识我们知道,每个对象均有自己的属性,可以通过属性窗口看到所选对象的属性列表及设置值,并可以根据需要在设计阶段或编码阶段来改变属性的值,而当我们改变某个对象的属性值时,对象的行为和外观都相应地会有所变化。不同的对象有许多相同的属性,为介绍的方便,我们把它们称为“基本属性”,但读者请注意,不是所有的对象都具有下面要提到的基本属性,也不是所有的属性都可同时在设计阶段和编码运行阶段改变和设置。
1. Name(名称)属性 所有控件均有名称属性,代表所创建对象的名称,其属性值将作为控件的标识在程序中被引用。Name属性只能在设计阶段即只能通过属性窗口来设置或更改,在运行时是只读的,不能在编码运行阶段(即在代码中)修改。
Name属性值必须以字母开头,可以包含字母、数字和下划线,不能包含标点符号和空格,不能与其它公共对象重名。
2. Caption(标题)属性
为控件上显示的内容。该属性既可在设计阶段也可在编码运行阶段设置和改变。 3. Top、Left、Width和Height属性
(Top,Left)是控件或窗体左上角的坐标。对于窗体而言,Top属性表示窗体到屏幕顶部的距离,Left表示窗体到屏幕左边的距离,对其它控件,Top属性表示控件到窗体顶部的距离,Left表示控件到窗体左边框的距离。(Top,Left)是控件或窗体左上角的坐标,
Width和Height属性分别表示了控件的宽度和高度。VB提供了默认坐标系,窗体的左上角为坐标原点,水平方向向右为正方向,垂直方向向下为正方向,坐标值默认单位是twip,1twip=1/20点=1/1440英寸=1/567厘米。如图1-10所示为VB的坐标系。图示中窗体的Caption属性被设置为“窗体标题显示”,按钮的Caption属性被设置为“按钮标题显示”。
图l-10 控件的位置和大小
4. Font属性
Font属性改变控件中显示的文本外观,通过该属性能设置FontName(字体),FontSize(字体大小),及一些常用的字体显示效果如FontBold(粗体),FontItalic(斜体),FontStrikethru(加册除线),FontUnderline(加下划线)等。通过单击选定对象属性窗口中Font属性列表的图标后出现如图1-11所示Font属性对话框。在对话框中可完成所需设置。如果用户所设计的界面中所有控件具有相同的Font属性,则只需对窗体的Font属性作设置,窗体内其它控件均服从该属性,除非用户再改变某控件的Font属性值。
图1-11 Font属性对话框
5. Enabled属性
该属性决定程序运行时,控件是否响应用户的鼠标或键盘操作。其属性值为逻辑类型,即只有以下两种:True(控件能响应用户鼠标或键盘操作,此值为默认值);False(控件不响应用户的鼠标或键盘操作,并呈暗淡显示)。
【注意】如果将窗体对象的Enabled属性值设置为False,则该窗体上所有的控件均不响应用户的操作。
6. Visible属性
该属性决定程序运行时控件是否可见。其属性值为逻辑类型。即:True(控件在程序运行时可见,此值为默认值);False(控件在程序运行时隐藏)。注意:一个Visible属性设置为False的控件,在设计时仍然是可见的,仅在程序运行时不可见。
7. AutoSize属性
该属性决定控件是否能自动调整大小。其属性值为逻辑类型。即:True(控件能自动调整大小);False(控件保持原设计时的大小,若正文太长,则会被自动裁剪,此值为默认设置值)。
8. Alignment属性
该属性决定控件上文本对齐方式。其属性值有3种:
0 —— Left Justify:显示的文本信息左对齐,此值为默认设置。 1 —— Right Justify:文本信息右对齐显示。 2 —— Center:文本居中对齐。 9. WordWrap属性
仅当AutoSize属性设置为True时,WordWrap属性才有效。其属性值为逻辑类型。True(在垂直方向上改变文本显示区域的大小,显示文字换行);False(在水平方向上按正文长度放大和缩小,显示文字不换行,此值为默认设置值)。
10. BorderStyle属性
该属性决定控件有无边框。其属性值有2种: 0 —— None:控件无边框。
1 —— Fixed Single:控件带有单边框。
【注意】此属性在程序运行时只读。上述属性值和意义仅适于Label,Text,Picture等控件,对于窗体、Line、Shape等控件的BorderStyle属性有其它不同的值和意义。
11. ForeColor属性
该属性用于设置或返回控件的前景(即正文)颜色。其值是一个十六进制常数,如ForeColor设置为&H000000FF&,表示前景为红色。大多数时候用户可以通过调色板直接选择所需颜色。
12. BackColor属性
该属性用于设置除正文以外的显示区域的颜色,其值设置方法和意义同ForeColor属性。
13. BackStyle属性
该属性用于设置背景样式,其属性值有2种: 0 —— Transparent:透明样式。即控件背景颜色显示不出,若控件后面还有其他控件,则这些控件可以显示出来。
1 —— Opaque:不透明样式。此时可为控件设置背景颜色,此值为默认设置值。 14. MousePointer属性
该属性用于设置在程序运行时当鼠标移至某一对象的特定部分时所显示的鼠标指针形状。设置值为有0,1,2?15,99共17种选择,其中,0-15值的含义可通过属性列表值或帮助系统了解,这里不一一列举,值为99表示用户要自定义指针形状。
15. MouseIcon属性
仅当MousePointer属性值为99时,MouseIcon属性可用。该属性用于设置用户自定义的鼠标图标形状,文件类型为.ico或.cur。
16. TabIndex属性
该属性用于决定用户按下Tab键时,焦点(Focus)在窗体上各个控件移动的顺序。焦点表示在任何时间控件接收鼠标输入或键盘输入的能力,只有当控件具有焦点时,才可以接收用户的输入。当窗体上有多个控件时,对大部分控件而言,系统都会分配一个Tab顺序,即用户每按一次Tab键焦点在各个控件上移动的顺序。通常,系统自动分配的Tab顺序总是与设计时控件建立的顺序相同,默认第一个建立的控件的TabIndex属性值为0,第二个为1,以此类推。若要改变这个顺序,则可以设置TabIndex属性。
【注意】运行时不可见(Visible属性为False)或无效(Enable属性为False)的控件以及一些不能接收焦点的控件(如Frame,Label等),会保持在Tab顺序中,但按Tab键切换时这些控件会被跳过。
17. 默认属性
在1.3.2.2节中我们知道,在编码运行阶段可通过语句(格式为:对象.属性=属性值)来实现属性的改变。VB中,反映某个控件最重要的属性称为其默认属性,对默认属性,语句格式省略为:对象=属性值。在程序运行时,不必指出是该控件的哪个属性,可以直接改变控件默认属性的值。例如,Text1=”hello!”与语句Text1.Text=”hello!”等效。注意,这种省略仅对控件的默认属性有效。下表1-2列出了部分常用控件的默认属性,读者在阅读他人程序时可能会遇到这种情况,但为保持程序的清晰可读,建议初学者不要采用省略方式。
表1-2 部分控件的默认属性
控件名称 默认属性 控件名称 默认属性 文本框 标签 图形框 Text Caption Picture 单选框 复选框 图像框 Value Value Picture 【例1.2】在窗体Form1上分别建立两个命令按钮command1,command2,各属性值取默认值;三个标签Label1、Label2,、Label3,其属性值通过属性窗口作如表1-3所示的设置(除表中属性外,其余均取其默认值)。编写代码达到如下效果:运行程序,鼠标形状发生改变,单击命令按钮command1,该按钮上显示文字为“粗体删除线”,文字效果为14镑大小粗体带删除线;command2按钮上显示文字为“斜体下划线”,文字效果为16镑大小斜体带下划线,并不允许操作。其事件过程代码如下,运行后界面如图1-12: Private Sub Command1_Click() Command1.Height = 615 Command1.Width = 1935
Command1.Caption = \′粗体删除线\ Command1.FontBold = True Command1.FontSize = 14 Command1.FontStrikethru = True Command2.Height = 615 Command2.Width = 1935
Command2.Caption = \斜体下划线\ Command2.FontSize = 16 Command2.FontItalic = True Command2.FontUnderline = True
Command2.Enabled = False End Sub
表1-3 有关属性设置 控件默认名称 (即Name属性) Form1 Label1 Label2 Label3 其 它 属 性 及 其 值 的 设 置 Backcolor=&H00808080&(或用调色板选择深灰色) Mousepointer=99,MouseIcon=c:\\windows\\cursor\\3dwmove.ico Caption=“左对齐”,Alignment=0,Height=735,Width=1095 Caption=“右对齐”,Backcolor=&H000080FF&(或用调色板选择桔红色) Alignment=1,Borderstyle=1, Height=735,Width=1095 Caption=“居中对齐”,Alignment=2, Height=735,Width=1095
图1-12 【例1.2】运行效果图
1.4.2常用控件
本小节仅介绍几个常用控件,其它更多控件将在第六章中介绍。 1.窗体(Form)
窗体(Form)作为各种控件的容器,在整个应用程序中起着重要的作用。VB中每个窗体对应于程序运行时的一个窗口。
(1)窗体的属性
窗体的常用属性有上节中介绍过的Name,Caption,Enabled,Visible,Left,Top,Height,Width,Font,Forecolor,Backcolor,Mousepointer,MouseIcon外,还有一些建立用户界面时常用到的重要属性。 ①MaxButton属性和MinButton属性
这两个属性分别决定了窗体标题栏右上角的最大化按钮和最小化按钮是否可用。
◆ MaxButton属性为True,有最大化按钮;为False,无最大化按钮。 ◆ MinButton属性为True,有最小化按钮;为False,无最小化按钮。 ②ControlBox属性
该属性决定窗体标题栏的显示状态。
◆ 值为True时,窗体为正常显示状态,即有窗口控制菜单图标、标题文字及三个窗
口控制按钮
◆ 值为False时,窗体标题栏只显示标题文字,无其它两项
注意,当ControlBox属性设置为False时,MaxButton属性和MinButton属性无效。 ③WindowsState属性
该属性表示窗体运行时以何种状态显示,其值可取三种: 0 —— Normal:正常窗口状态,有窗口边界。 1 —— Minimized:最小化状态,以图标方式运行
2 —— Maxinized:最大化状态,无边框,窗口充满整个屏幕。 ④BorderStyle属性
窗体的边框样式由BorderStyle属性决定,其值有以下几种: 0 —— None:窗体没有边框和标题。
1 —— Fixed Single:窗体边框是固定单线,运行时不能改变窗体大小。 2 —— Sizable:窗体大小可以在运行时改变,此属性值为默认设置值。 3 —— Fixed Dialog:窗体为固定对话框风格的窗体,大小不能改变。
4 —— Fixed ToolWindow:工具栏风格的窗体,有关闭按钮,大小不能改变。 5 —— Sizable ToolWindow:工具栏风格的窗体,有关闭按钮,大小可以改变。 BorderStyle属性在运行时只读。当属性值设置为除2以外的它值时,系统将自动把MaxButton属性和MinButton属性设置为False。
⑤Moveable属性
该属性决定窗体在程序运行时是否可以被移动。其属性值为True,窗体可以拖动,此为默认设置值;为False时,窗体不可以被移动。
⑥Icon属性
VB默认的窗体左上角控制菜单图标为,当窗体最小化时也是以该图标显示,用户可在属性窗口中,单击Icon属性列表右边的,打开“加载图标”对话框,查找并打开一个图标文件(文件的扩展名为.ico或.cur)来改变该属性的值,此时,当窗体最小化时将以用户选择的图标来显示。
⑦Picture属性
利用该属性可以为窗体设置一幅背景图片,设置方法同Icon属性。 (2)窗体常用方法
窗体常用的方法有Print,Cls,Move.等。 ①Print方法
用于在窗体上输出信息。格式为:
[对象.]Print[{Spc(n)|Tab(n)}][表达式列表][;|,]
其中,[ ]中内容表示可省略,| 两边表示二者选一。其余各项含义如下:
对象:可以是窗体(Form)、图形框(PictureBox)或打印机(Printer)。省略即指在窗体中输出。
Spc(n)函数:用于在输出时在两个输出项间插入n个空格,可多次重复使用。 Tab(n)函数:用于在输出时光标从对象左端开始向右移动n列,允许重复使用。
表达式列表:指要输出的数值或字符串表达式。若省略,则表示输出一个空行,若输出多个表达式,则表达式间要用空格、逗号或分号分隔,也可出现Spc(n)函数和Tab(n)函数。表达式列表起始打印位置是由对象的CurrentX和CurrentY属性决定,默认起始位置为打印对象的左上角。
;(分号):表示光标定位上一个打印的字符后
,(逗号):表示光标定位在下一个打印区的起始位置处。每个打印区之间相隔14列。 若既无分号“;”也无逗号“,”,则表示输出后光标换行。
注意:当窗体的AutoRedraw属性的值为False时,Print方法在Form_Load( )事件过程中无效。
②Cls方法
用于清除运行时窗体中显示的文本或图形。格式为: [对象.]Cls
其中,对象为窗体或图形框,省略则为窗体。 ③Move方法
用于移动窗体或控件,并可在移动过程中改变其大小。格式为: [对象.]Move 左边距离[,上边距离[,宽度[,高度]]]
其中,对象可以是窗体及除时钟、菜单外的所有控件,省略则为窗体。
左边距离、上边距离、宽度、高度四项均为数值表达式,以Twip为单位,分别改变窗体或控件的Left、Top、Width和Height属性值。其中,左边距离(Left)参数必须给定,其他3个参数可选,但若要给定某个参数,则必须给定语法中规定的出现在该参数前面的全部参数,这是该方法的一个特点。
如:Move Left+150,Top+150,Width+400
该语句功能是把窗体向左、向上移动150个Twip,同时窗体的宽度增加了400Twip。 【例1.3】Print方法和Cls方法应用例。在窗体的Load()和Click()事件过程中编写如下代码,注意:窗体的AutoRedraw属性必须设为True。运行程序,窗体装载后有如图1-13所示的输出效果,这时单击窗体,则窗体上输出信息被清除。
Private Sub Form_Click() ‘窗体单击事件过程 Cls ‘清屏 End Sub
Private Sub Form_Load() ‘窗体装载事件过程 Print Tab(16); \方法的使用示例\ Print Tab(16); \
Print ‘输出一个空行 Print
Print Spc(6); \加六个空格输出\光标在下一打印区\ Print Tab(4); \ Print \
Print Tab(4); \ Print \ End Sub
图1-13 【例1.3】运行效果图
(3)窗体的常用事件
窗体中最常用的事件有Click(单击)事件,Dblclick(双击)事件和Load事件。 ①Click(单击)事件和Dblclick(双击)事件 程序运行时鼠标单击或双击窗体,将触发窗体的Click事件和DblClick事件。事实上,当在窗体上双击时,首先触发的是窗体的Click事件,然后才是DblClick事件,如果两个事件过程都编写了代码,则会被依次执行。
【例1.4】窗体的Click事件和DblClick事件。 Private Sub Form_Click()
Form1.Caption = \窗体的Click事件\‘窗体标题显示为“窗体的Click事件” Move 0, 0, Width + 400, Height + 400 ‘移动窗体至坐标(0,0)处同时改变其大小
End Sub
Private Sub Form_DblClick()
Form1.Caption = \窗体的DblClick事件 ‘窗体标题显示为“窗体的DblClick事件”
Move Left + 150, Top + 200, Width + 200 ‘移动窗体同时改变其大小 End Sub ②Load事件
Load事件是一个窗体被加载到内存中准备显示时触发的事件。与Click事件和DblClick事件不同,窗体的确良Load事件不是由用户的操作触发,面是当应用程序启动时,自动执行该事件,因此常常在此事件过程中进行窗体及其上控件的属性和变量初始化工作。
【例1.5】新建一个窗体,在Load事件中编写代码,使窗体的标题显示为“Load窗体”,并将窗体的背景改变为红色。
Private Sub Form_Load() Caption = \窗体\ BackColor = &H000000FF& End Sub
2.标签(Label)
标签(Label)主要用于显示文本信息,程序运行时标签所显示的内容不能由用户直接编辑,只能用Caption属性来设置或修改。
(1)标签的主要属性
有Name、Caption、Font、Left、Top、BorderStyle、BackStyle等。 (2)标签的方法
标签也具有Move方法,使用格式同窗体。 (3)标签的事件
标签能响应Click事件和DblClick事件,如:
Private Sub Label1_Click() ‘单击标签能改移动标签位置并改变其大小 Label1.Move Left + 150, Top + 200, Width + 200, Height + 200 End Sub
但一般情况下,标签的主要功能是在窗体上说明或显示文字,没有必要编写事件过程。 3.文本框(TextBox)
文本框(TextBox)是一个文本编辑区,用户可以文本框内输入、编辑、修改及显示文本内容。
(1)文本框主要属性
同样,文本框也具有前文介绍的一些基本属性,如Name、Font 、Top、Left、Width、Height、Enable、Visible、Alignment、BorderStyle、ForeColor等。此外,还具有以下重要属性。
①Text属性
Text属性是文本框的默认属性,文本框无Caption属性,显示的文本内容是存放在Text属性中,当程序运行时,用户通过键盘来输入和编辑文本内容。
②MaxLength属性
指文本框能接收输入文本内容的最大长度。该属性值的默认设置为0,表示可以输入任意长度的字符串。VB中的字符长度是以字为单位,一个西文字符和一个汉字长度均为1。
③MultiLine属性
该属性决定文本框是否具有多行显示功能。其值为True时,文本框可输入或显示多行文本,当输入的文本超出显示框时,会自动换行,按Enter键可插入一个空行;其值为False时,不支持多行显示,False为该属性的默认设置值。
④ScrollBars属性
仅当MultiLine属性值为True时,ScrollBars属性有效。该属性决定文本框是否有垂直或水平滚动条。当文本框加入水平滚动条后,自动换行功能自行消失,只有按Enter键才能换行。
0 —— None:无滚动条。
1 —— Horizontal:加水平滚动条。 2 —— Vertical:加垂直滚动条。
3 —— Both:同时加垂直和水平滚动条。 ⑤Locked属性
指定文本框内容中否允许被编辑,默认取值为False,表示允许编辑,值改为True时,文本框不允许被编辑,只能显示文本。
⑥PasswordChar属性
文本框作为密码输入控件时,该属性值设为单个字符可屏蔽显示密码。如将文本框的PasswordChar属性设置为“*”(星号),则文本框中输入的任何文本信息均以星号显示。PasswordChar属性只是改变了显示方式而已,文本框的Text属性仍正常。
⑦SelStart、SelLength、SelText属性 程序运行时,用户对文本框中的内容进行选择操作时,这3个属性用来标识用户选中的文本。
SelStart:确定选定正文的开始位置,第一个字符的位置为0。 SelLength:确定选定的文本长度。 SelText:选定的文本内容。
当设置了SelStart和SelLength属性后,VB自动将设定的文本送入SelText中存放。三个属性常与剪贴板一起使用,完成文本信息的剪切、复制和粘贴。见例1.6。
(2)文本框常用方法
SetFocus方法是文本框最有用的方法。其格式为: [对象.]SetFocus
该方法是把光标移至指定的文本框中,当窗体上建立了多个文本框时,可使用该方法把光标置于所需要的文本框上。
(3)文本框常用事件
Change事件、KeyPress事件、LostFocus事件和GotFocus事件是文本框最重要的响应事件。
①Change事件
在程序运行过程中,当文本框中的内容(即Text属性值)发生改变时引发该事件。用户每输入一个字符,就会触发一个Change事件。
如:Private sub Text1_Change() Text2.Text=Text1.Text End Sub
当文本框Text1中输入任意文本,将触发事件过程Text1_Change(),从而文本框Text2中的内容将自动随Text1中内容同步发生变化。
②KeyPress事件
程序运行时,用户按下并且释放键盘上的一个可打印字符(即ANSI键),将会引发焦点所在控件的KeyPress事件,如焦点在文本框上,就引发文本框的KeyPress事件,此事件会把输入字符的ASCII值作为参数返回到该事件过程中。如按下键盘上字母“a”,则返回KeyAscii的值为96。同理,如果KeyAscii的值为13,表示用户按下并释放的是回车键,文本输入结束,实际应用中,我们常常利用该事件的这一返回参数来判断是否输入文本结束。
③LostFocus事件
当控件失去焦点时,触发LostFocus事件,Tab键的移动或单击另一对象都能引起当前控件焦点的丢失。
【注意】Focus英文为“焦点”、“聚焦”之意,什么是焦点呢?最直观的例子是,比如桌面上有两个层叠的窗体,互相有一部分遮盖,当我们点击下面的窗体时,它就会全部显示出来,这时该窗体处在被激活的状态,并且标题条变成蓝色,这就是GotFocus事件,而相反,另外一个窗体被遮盖,并且标题条变灰,称为LostFocus事件。
④GotFocus事件
与LostFocus事件相反,当一个对象获得焦点时发生GotFocus事件。 4.命令按钮(commandButton)
命令按钮(commandButton)在应用程序中使用最为普遍,是用户与应用程序交互的一个直接手段。
(1)命令按钮(commandButton)的常用属性 命令按钮也具有Name、Font 、Top、Left、Width、Height、Enable、Visible、Alignment、BackColor、ForeColor、TabIndex等基本属性,其含义和设置前面已有详细介绍。
①Caption属性
该属性的值即命令按钮上显示的文字。如果用户在设置命令按钮的Caption属性值中含有“&”字符,“&”字符本身并不显示在命令按钮上,该字符所起作用是把紧接在它后面的字符定义为该命令按钮的快捷键,程序运行时,快捷键字母带下划线显示,当用户按下Alt+快捷键,便可激活该命令按钮。
例如,命令按钮Command1的Caption属性设置为“&Run”,则程序运行时,命令按钮显示标题文字为“Run”,当用户按下Alt+R(快捷键)时可激活命令按钮Command1。
②Style属性
该属性用于确定命令按钮的显示类型,命令按钮不仅可显示文字,也可显示图形。属性值有两种:0——Standard 标准按钮,按钮上不能显示图形,此为默认值;1——Graphical图形的,按钮上可以显示文字,也允许用Picture属性为按钮选择显示图形。
③Picture属性
若Style属性设置为1,则可利用Picture属性显示图形文件(扩展名为.bmp和.ico)。
④Defanlt属性
该属性决定命令按钮是否是“默认按钮”,属性值为逻辑类型。“默认按钮”是指这样的按钮,当用户在窗口中按下Enter键时,不管当前输入焦点在哪个控件上(可按收Enter键操作的控件除外),都相当于单击了该按钮。默认按钮有较粗的边框,一个窗体上只能有一个按钮的Defanlt属性值为 True。
⑤ToolTipText属性
ToolTipText属性与Picture属性配合使用,如果一个命令按钮仅有图形显示时,可以利用该属性以较少的文字来解释该命令按钮。
(2)命令按钮常用事件
命令按钮使用最多的是Click(单击)事件。
【例1.6】利用文本框和命令按钮建立一个简单的文本编辑器。在窗体上建立两个文本框Text1、Text2,三个命令按钮command1、command2、command3,调整和对齐至合适大小和位置,如图1-14所示。按表1-4修改各控件属性。
表1-4 属性设置 控件默认名称 Text1 Text2 Form1 相关属性设置 Multilane=true, ScrollBars=2 Multilane=true, ScrollBars=3 Caption=一个简单的文本编辑器 控件默认名称 相关属性设置 Command1 Command2 Command3 Name=剪切 Name=复制 ame=粘贴
图1-14 简单的文本编辑器
在代码窗口编写各事件过程代码如下:
Dim temp As String '定义一个变量temp存放文本框Text1中被选中内容 Private Sub 剪切_Click()
temp = Text1.SelText 'text1中被选中内容存入变量temp中 Text1.SelText = \被选中内容以空文本代替 剪切.Enabled = False '剪切按钮呈暗色显示 复制.Enabled = False '复制按钮呈暗色显示 粘贴.Enabled = True End Sub
Private Sub 复制_Click()
temp = Text1.SelText 'text1中被选中内容存入变量temp中 粘贴.Enabled = True 剪切.Enabled = False 复制.Enabled = False End Sub
Private Sub 粘贴_Click()
Text2.Text = temp '变量temp中内容存入text2的text属性中 剪切.Enabled = True 复制.Enabled = True End Sub
运行该程序,在文本框1中可输入和编辑任意文本内容,用鼠标选定部分文本,单击剪切按钮和粘贴按钮,分别触发剪切_Click()和粘贴_Click()两个事件过程,可实现将选定内容剪贴到文本框Text2中。同理,单击复制按钮和粘贴按钮,分别触发复制_Click()和粘贴_Click()两个事件过程,实现选定文本内容的复制功能。
在本例中,为增加程序的可读性,修改了三个命令按钮的Name(名称)属性,因此,凡在代码中引用到命令按钮的默认名称处都要作相应的修改。
【例1.7】将例1.6中的三个命令按钮的属性按下表1-5修改。则用户界面如图1-15示:
表1-5 【例1.7】中控件属性的修改 控件默认名 Command1 Command2 Command3 Name属性 cmdCut cmdCopy cmdPaste Caption属性 空白 空白 空白 Picture属性 cut.ico copy.ico paste.ico Style属性 1——Graphical 1——Graphical 1——Graphical ToolTipText属性 剪切 复制 粘贴 注意,cut.ico 、copy.ico、 paste.ico三个图标文件是在Picture属性设置时通过浏览获取,如果读者的本地机上没有这三个文件,可用别的图形文件来代替,不要生搬硬套。本例旨在熟悉命令按钮的几个重要属性的使用。本例中控件的命名(即Name属性)采用了匈牙利命名法,则例1.6中代码凡用到三个命令按钮名称的地方均要作相应修改,请读者自己去完成。
图1-15 修改属性后的运行界面
1.5 建立简单的VB应用程序
1.5.1 VB可视化编程基本步骤
建立一个VB应用程序的一般过程如下:
(1)设计并建立用户界面。即在窗体上建立各控件对象。
(2)设置各对象的属性。即在属性窗口为各控件对象进行初始属性设置。 (3)编写所需事件过程代码。即在代码窗口为激发控件对象执行所需操作的事件过程代码。 (4)保存程序。在运行程序前,保存程序可以避免由于各种原因造成的程序丢失。 (5)运行和调试程序。在VB集成环境下调试好程序,无误后将其再次保存。
(6)生成可执行文件。可执行文件(扩展名为.exe)可作为Windows应用程序,在Windows环境下直接运行。本步骤根据情况可选。
本节将结合实例,帮助读者学会建立简单的VB应用程序。
【例1.8】编写一个程序,输入正方形的边长,计算并输出正方形的面积。为简单起见,这里假设每次输入的正方形边长均大于0。程序运行界面如图1-16所示。
图1-16 计算正方形面积运行界面
(1)建立工程,分析并设计用户界面。
任何程序,无论大小,都应该对其问题性质特征、解决途径等进行必要的分析,这是一种良好的程序设计思维习惯,根据本程序要求,文本框具有编辑和显示文本能力,因此可设计两个文本框分别用来接收用户输入正方形的边长及显示面积计算结果,两个标签用于提示信息,两个命令按钮供用户和程序交互,即点击“计算”命令按钮,可完成计算并显示结果,点击“退出”命令按钮可退出程序。
通过“文件”菜单“新建工程”可以打开“新建工程”对话框,选择“标准化EXE”。确定后可建立工程,工程的默认名称是:工程1,可以通过工程属性窗口将工程改名。在工程的默认窗体Form1上建立Label1、Label2、Text1、Text2、Command1、Command2六个控件并调整好位置和大小。
(2)控件对象的初始属性设置
控件对象的初始属性设置在“属性窗口”中完成。按表1-6设置相关属性,其它属性取默认值。
表1-6 【例1.8】相关属性设置 控件默认名称 Form1 Label1 Label2 Text1 属性设置 Caption=“计算正方形面积” 控件默认名称 Text2 属性设置 Text=”” Caption=“计算” Caption=“退出” Caption=“请输入正方形边长=” Command1 Caption=“计算该正方形面积=” Command2 Text=”’ (3)编写所需事件过程代码。
为使程序能够执行任务,需要编写代码。本例中要用到两个命令按钮的单击事件过程。命令按钮“计算”的Click事件过程功能是单击后能计算出正方形面积并在text2中显示出来,命令按钮“退出”的Click事件过程功能是单击后退出程序。
现以“计算”按钮为例,说明Command1_Click()事件过程编码的步骤:
①用前面介绍的方法切换至代码窗口,单击“对象”列表框右边的下拉按钮,将列出当前窗体中包含的所有对象,从列表中选择命令按钮Command1。
②单击“过程”列表框右边的下拉按钮,将列出与Command1对象相关的所有事件,选择本例所需要的Click事件。此时,代码窗口显示出该事件的模板,在过程头和过程尾的代码编辑区输入过程体,本例的代码如下:
Private Sub Command1_Click() '过程头,由系统自动生成
Text2.Text = Text1.Text * Text1.Text '取Text1中的边长计算面积并在Text2中显示
End Sub ' 过程尾,由系统自动生成
③重复上述步骤建立其它事件过程,如本例的Command2_Click()事件过程。 Private Sub Command2_Click()
End '结束程序 End Sub
这里再次提醒初学者注意,事件过程的模板(即过程头和尾)是由系统自动生成(用户自定义过程除外),用户不必重复输入。 (4)保存程序。
在VB中,一个应用程序是以工程文件(扩展名为.vbp)的形式保存在磁盘上,工程中可能涉及多种文件如窗体文件、标准模块文件等,一个程序至少应有一个窗体文件。本例中仅有一个窗体,因此,只需要保存一个窗体文件(扩展名为.frm)和工程文件。步骤如下: ①保存窗体文件。选择“文件”菜单的“Form另存为(A)”,系统弹出“文件另存为”对话框,如图1-17。用户在“保存在”文本框中选择保存的位置,VB的默认保存目录是VB98。在“文件名”文本框中输入文件名(通常情况下无需输入扩展名,系统会根据不同文件类型自动添加),本例中窗体文件名为1-18Form1.frm。. 本例中工程只包含一个窗体文件,实际的应用程序可能有多个窗体文件、标准模块文件等,那么对每个文件,都存在着类似的保存操作。注意:同一文件夹下不能有相同的窗体文件名。
图1-17窗体文件的“文件另存为”对话框
②保存工程文件。选择“文件”菜单下的“工程另存为”,系统弹出“工程另存为”对话框,和图1-17相似操作,给工程文件取名并保存。 【注意】
㈠如果应用程序是第一次被保存或对已存在文件修改后的不改名存盘,可选择“文件”菜单的“保存Form”、“保存工程”命令保存。若用户欲对修改后文件改名存盘,则必须选择“Form1另存为”、“工程另存为”命令。系统默认文件夹是“VB98”,用户要注意存盘时一定要清楚文件保存的位置和文件名,否则下次使用或修改程序时可能找不到所需文件。
㈡若工程中存在多个窗体时,必须指定一个启动窗体,启动窗体通常是指程序运行时显示的第一个窗体。方法是利用“工程”菜单中的“工程属性”命令打开“通用”选项,见图1-18,在启动对象列表框中选择一个窗体后确定即可。
图1-18 工程属性对话框
(5)运行和调试程序
在VB中,程序有两种模式运行,分别是编译模式和解释模式。 ①解释运行模式
这是编写简单应用程序常用的运行模式。选择“运行”菜单的“启动”命令(或直接单击工具栏上“启动”按钮),程序将处于解释运行模式,等待用户激发事件,系统将相应事件过程代码转换成机器代码然后执行,由于转换后的机器代码不保存,如需再次运行该程序,必须再解释一次。 在本例中,“启动”后,用户在Text1中输入正方形边长,如输入“15”,单击“计算”按钮激发Command1_Click()事件过程,程序执行后在Text2中显示出计算结果(见图1-16)。单击“退出”按钮,激发Command2_Click()事件,结束程序运行。
若程序运行过程中有出错信息对话框弹出,系统将自动进入“中断”运行模式,回到代码窗口提示用户进行代码的修改,修改后再调试运行。 ②编译运行模式
选择“文件”菜单的“生成?exe”命令,系统将程序中的全部代码转换为机器代码,并保存在扩展名为.exe的可执行文件中,可供以后多次运行。一般编程时代码均在解释运行模式下通过后再编译成可执行文件。
1.5.2 VB源程序的书写规范
我们把VB的事件过程代码称为源程序,和任何其它程序设计语言一样,VB源程序有一定的书写规范,主要有:
1. 语句书写自由
◆ 一行可写多条语句,语句之间用“:”(冒号)隔开。
◆ 一条语句若太长,可分行书写,在每行末尾处须加续行符,续行符由空格加下划线
组成。
◆ 一行最多允许书写255个字符,一条语句最多包含1023个字符。 2. VB代码不区分大小写字母
在VB代码中,不区分字母的大小写,VB认为“NEXT”和“next”是相同的标识。为了提高程序的可读性,无论用户输入的字母是大小还是小写,遇到下列情况,VB自动对程序代码作转换:
◆ 程序中出现的关键字的首字母,总是被自动转换成大写,其余字母转换成小写。 ◆ 如关键字由多个英文单词组成,VB将每个单词首字母转换成大写。
◆ 对于用户自已定义的变量、过程名,VB均以第一次定义为标准,以后的输入均自
动向首次定义转换。
3. 给VB代码适当的注释有利于程序的阅读和修改。 VB中可以用关键词REM或英文单引号(‘)来引导注释内容,细心的读者可能早已注意到前面的例题当中多次出现由英文单引号(‘)引导的注释。用英文单引号(‘)引导的注释可以直接出现在语句后面,VB系统对注释内容既不编译也不执行,仅供人阅读,以便于理解程序语句的含义。给程序加注释是一种良好的编程习惯。任何字符都可以在注释行中作为注释内容,注释语句通常放在过程、模块的开头作为标题用,也可放在执行语句(单行或者复合语句行)的后面,但不可以放在续行符的后面。
注释不仅仅是对程序的解释,有时它对于程序的调试也非常有用,譬如说在程序调试的过程中,可以先利用注释屏蔽一条语句以观察变化,发现问题和定位错误。以后注释语句将是我们在编程里经常要用到的语句之一。如果要使多行语句或文字成为注释,可使用“编辑”工具栏的“设置注释块”、“解除注释块”按钮,使选中的若干行语句(或文字)成为及解除注释。“设置注释块”、“解除注释块”可通过“视图”菜单的“工具栏”显示出来。
4. VB中所有的语句标点符号必须是英文半角字符。
冒号、点号、逗号、分号、界定字符串的双引号、注释用的单引号等标点符号都必须是英文半角字符,如果出现中文标点VB将认为有语法错误。
5. 代码书写时按层次缩进格式以增加程序的可读性。
【例1.9】如图1-19所示,编写程序实现:在文本框中输入一段文字,单击命令按钮“放大”可将文本框中文字放大,单击命令按钮“缩小”可将文本框中文字缩小,“还原”按钮可将放大或缩小后的文字还原为原字号大小。控件及初始属性设置见表1-7。
图1-19 【例1.9】运行界面
控件默认名称 Form1 Label1 Text1 属性设置 Caption=”字符缩放例:” Caption=” 在文本框中输 入一段文字” 控件默认名称 Command1 Command2 属性设置 Caption=“放大” Caption=“缩小” Caption=“还原”, Enabled=false Text=’’,MultiLine=true Command3 事件过程代码如下:
Dim temp As Integer '定义一个整型变量用于临时存放文本框中原字号大小
Rem (注释语句不执行)下面过程可实现文字的放大 Private Sub Command1_Click()
temp = Text1.FontSize '把文本框中文字字号大小保存在变量temp中 Text1.FontSize = 2 * Text1.FontSize '将字号放大两倍
Command1.Enabled = False '“放大”按钮不可用,呈灰色显示 Command3.Enabled = True '“还原”按钮变为可用 End Sub
Private Sub Command2_Click()
Rem 注释语句,下面过程可实现文字的缩小 temp = Text1.FontSize
Text1.FontSize = Text1.FontSize / 2 '将字号缩小1/2 Command2.Enabled = False Command3.Enabled = True End Sub
Private Sub Command3_Click()
Text1.FontSize = temp '将变量中保存的原字号大小还原
Command1.Enabled = True: Command2.Enabled = True ‘一行写多条语句,以冒号隔开
Command3.Enabled = False End Sub
【注意】程序中两种注释语句及代码的缩进层次的写法,程序中用到的变量知识,在下一章中将详细介绍。
1.5.3 小结
学习一门程序设计语言,必须了解语言的特点,熟悉其开发环境。本章主要介绍:
◆ VB的基本特点:可视化编程、事件驱动和面向对象。
◆ VB集成开发环境中的菜单和工具栏、工具箱窗口、窗体设计器窗口、属性窗口、
代码窗口、工程资源管理器窗口等。
◆ VB程序设计的基本概念:控件对象、属性、方法、事件。 ◆ VB可视化编程的基本步骤和设计简单的应用程序的全过程。 ◆ 窗体、文本框、标签和命令按钮等常用控件。
本章内容多涉及基础概念和基础操作,较为琐碎,学习时可能会比较枯燥,但为了学好VB,我们一定要打好基础才行,在后续章节的学习过程中,需要用到本章知识,到时再回过头来细看,才能对VB有更深刻和全面的理解。
习题1
一、思考题: 1、VB6.0有多种类型的窗口,如何使各窗口显示或不显示,若想在设计时看到代码窗口,应该如何操作?
2、简述VB程序设计的特点。
3、什么是对象?什么是对象的属性、方法与事件?
4、VB的工程包含哪几类文件?它们的扩展名分别是什么? 5、简述VB中建立一个完整的应用程序的步骤。
6、保存工程文件时,系统的默认目录是什么?当建立好一个仅含一个窗体模块的应用程序时,要保存该工程中的所有文件,正确的文件保存操作顺序是什么?
7、当运行程序前,可对控件的一些属性作初始设置,除了在属性窗口设置外,还可通过代码设置,这些代码一般应放在什么事件中?例如,程序要将窗体定位在屏幕的中央,将按钮定位在窗体的中间,请写出事件过程及代码。
8、如何让一个标签的大小自动随文字的(即其Caption属性值)多少而改变? 9、为防止用户编辑文本框内的内容,应对该控件的什么属性进行何种设置? 10、标签和文本框的有何区别?
11、当窗体上有2个文本框和2个命令按钮,若要使程序运行时,焦点定位在第二个文本框处,应对何控件的什么属性作何种设置?
12、一个文本框的Name属性为Text1,为了在该文本框内显示“Welcome!”,应使用什么语句?
13、什么是注释?为什么要使用注释?VB中的注释符是什么?
14、要把窗体上的某个控件变为活动的,应执行什么操作?要同时改变一个活动控件的高度和宽度,应执行什么操作?
15、在窗体上画两个文本框和一个命令按钮,然后在代码窗口中编写如下事件过程: Private Sub Command1_Click() Text1.Text=”VB 程序设计” Text2.Text=Text1.Text Text1.Text=”ABCD” End Sub
程序运行后,单击命令按钮,在两个文本框中各显示什么内容? 二.单项选择题:
1、VB的启动有多种方法,下面不能启动VB的是( ) A. 使用“开始”菜单中的“程序”命令
B. 使用“开始”菜单中的“运行”命令,在弹出的对话框中输入VB启动文件的名字 C. 使用“我的电脑”,在VB所在硬盘驱动器中找到相应的VB文件夹 D. 先打开VB的“文件”菜单,再按Alt+Q组合键
2、以下关于VB特点叙述中,错误的是( ): A. VB是采用事件驱动编程机制的语言
B. VB程序既可以编译运行,也可以解释运行 C. 构成VB程序的多个过程没有固定的执行顺序
D. VB程序不是结构化程序,不具备结构化程序的三种基本结构 3、以下叙述错误的是( ):
A.在VB中,对象所能响应的事件是由系统定义的
B.对象的任何属性既可以通过属性窗口设定,也可以通过程序语句设定 C.VB中允许不同对象使用相同名称的方法 D.VB中的对象具有自己的属性和方法 4、以下叙述错误的是:
A.一个VB应用程序可以含有多个标准模块文件 B.一个VB工程可以有多个窗体文件
C.标准模块文件可以属于某个指定的窗体文件 D.标准模块文件的扩展名是.BAS 5、以下叙述错误的是:
A.VB是事件驱动型可视化编程工具
B.VB应用程序不具有明显的开始和结束语句 C.VB中控件的某些属性只能在运行时设置
D.VB工具箱中的所有控件的都具有宽度(Width)、高度属性(Height)
6、除了系统默认的工具箱布局外,在Visual Basic中还可以通过( )方法来定义选项卡组织安排控件.
A. 在工具箱单击鼠标右键,执行快捷菜单中的“添加选项卡”命令 B. 执行“文件”菜单中的“添加工程”命令 C. 执行“工程”菜单中的“添加窗体”命令 D. 执行“工程”菜单中的“部件”命令 7、窗体设计器是用来设计( )
A.应用程序的代码段 B.应用程序的界面 C.对象的属性 D.对象的事件 8、退出Visual Basic的快捷键是( ) A.Ctrl+Q B.Shift+Q C.Alt+Q D.Ctrl+Alt+Q 9、激活主菜单的按键是( )
A.F1或Ctrl键 B.Ctrl键或Alt键 C.F10或Ctrl键 D.F10或Alt键 10、下列可以打开立即窗口的操作是:( )
A. Ctrl+D B. Ctrl+E C. Ctrl+F D. Ctrl+G 11、下列叙述正确的是( )
A. 对象是包含数据又包含对象数据进行操作的方法的物理实体
B. 对象的属性只能在属性窗口中设置 C. 不同的对象能识别不同的事件
D.事件过程都要由用户点击对象来触发 12、事件的名称( )
A.都要由用户定义 B.有的由用户定义,有的由系统定义 C.都是由系统预先定义 D.是不固定的 13、下列关于属性设置的叙述错误的是:( )
A.一个控件具有什么属性是VB预先设计好的,用户不能改变 B.一个控件具有什么属性是VB预先设计好的,用户可以改变
C.一个控件的属性即可以在属性窗口中设置,也可以用程序代码设置 D.一个控件的属性在属性窗口中设置,还可以利用程序代码为其设置新值 14、下列说法正确的是( )
A.对象属性只能在“属性窗口”中设置 B.一个新的工程可以在“工程窗口”中建立 C.必须先建立一个工程,才能开始设计应用程序 D.只能在“代码窗口”中编写程序代码
15、下列关于设置控件属性的叙述正确的是( ) A. 用户必须设置属性值
B. 所有的属性值都可以由用户随意设定 C. 属性值不必一一重新设置 D. 不同控件的属性项都完全一样
16、下列不能打开属性窗口的操作是( ) 。
A.执行“视图”菜单中的“属性窗口”命令 B.按F4键 C.按Ctrl+T D.单击工具栏上的“属性窗口”按钮 17、常用控件的Style属性值是( )
A.字符常量 B.逻辑常量 C.数值常量 D.日期常量 18、 下列关于窗体上控件的基本操作错误的是:( ) A.按下一次DEL键只能删除一个控件 B.按下一次DEL键可以同时删除多个控件
C.按住SHIFT键,然后单击每个要选择的控件,可以同时选中多个控件 D.按住Ctrl键,然后单击每个要选择的控件,可以同时选中多个控件 19、窗体的Caption属性的作用是( )
A.确定窗体的名称 B.确定窗体的标题 C.确定窗体的边界类型 D.确定窗体的字体 20、Cls方法可以清除窗体或图片框中的( )内容.
A.在设计阶段使用Picture设置的背景位图 B.在设计阶段放置的控件 C.在运行阶段产生的图形和文字 D.以上全部内容 21、能够改变窗体边框线类型的属性是( )
A.FontStyle B.BorderStyle C.BackStyle D.Border
22、为了在运行时能显示窗体左上角的控制框(系统菜单),必须( )。 A. 把窗体的Contro1Box 属性设置为Fale,其他属性任意
B. 把窗体的ControlBox 属性设置为True,并且把Boder Style属性设置为1-5 C. 把窗体的ControlBox 属性设置为False,同时把BoderStyle属性调协为非0值 D. 把窗体的ControlBox 属性设置为True,同时把BoderStyle属性设置为0值
23、在窗体支持的事件中,由系统自动触发的事件是( )事件。 A.Load和Unload B.Click和DblClick
C.Initialize和Load D.MouseDown和MouseUp
24、以下能在窗体Form1的标题栏中显示“VisualBasic窗体”的语句是( )
A.Form1.Name=\窗体\.Form1.Title=\窗体\
C.Form1.Caption=\窗体\.Form1.Text=\窗体\
25、假定窗体上有一个标签,名为Labell,为了使该标签透明并且没有边框,则正确的属性设置为( ) 。
A. Label1. BackStyle=0 B. Label1.BackStyle=1 Label1.Borderstyle=0 Label1.Borderstyle=1
C. Label1.BackStyle=True D. Label1.BackStyle=False
Label1.BorderStyle=True Label1.Border
26、为了把焦点移到某个指定的控件,所使用的方法是( )
A. SetFocus B. Visible C.Refresh D. GetFocus
27、要使一个文本框具有水平和垂直滚动条,则应先将其MultiLine属性设置为True,然后再将ScrollBar属性设置为( ) A.0 B.1 C.2 D.3
28、文本框控件中将Text的内容全部显示为所定义的字符的属性项是( ) A.PasswordChar B.需要编程来实现 C.Password D.以上都不是
29、在窗体(Name属性为Form1)上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(Name 属性为Command1),然后编写如下两个事件过程: Private Sub Command1_Click() a=Text1.Text+Text2.Text Print a End Sub
Private Sub Form1_Load( ) Text1 Text=\ Text2 Text=\ End sub
程序运行后,在第一个文本框(Text1)和第二个文本框(Text2)中分别输入123和321,然后单击命令按钮,则输出结果为 。
A. 444 B. 321123 C. 123321 D. 132231
30、为了在按下回车键时执行某个按钮的事件过程,需要把该命令按钮的一个属性设置为True,这个属性是( )
A.Value B.Cancel C.Enable D.Default 31、要把一个命令按钮设置成无效,应设置其哪一属性值( ) A.Visible B.Enabled C.Default D.Cancel 32、下列语句中,定义窗体单击事件的头语句是( )。
A.Private Sub Form_Click( ) B.Private Sub Command1_Click( ) C.Private Sub Form_Dblclick( ) D.Private Sub Form_Load( )
33、窗体中有3个按钮Command1、Command2和Command3,该程序的功能是当单击按钮Command1时,按钮2可用,按钮3不可见,正确的程序是( )
A.Private Sub Command1_Click( ) B.Private Sub Command1_Click( ) Command2.Visible=True Command2.Enabled=True
Command3.Visible=False Command3.Enabled=False End Sub End Sub
C.Private Sub Command1_Click( ) D. Private Sub Command1_Click( )
Command2.Enable=True Command2.Enabled=False Command3.Visible=False Command3.Visible=False End Sub End Sub
34、为了使命令按钮(名称为Command1)右移200,应使用的语句是( ) A.Command1.Move –200 B. Command1.Move 200
C.Command1.Left= Command1.Left+200 D. Command1.Left= Command1.Left-200
35、设置命令按钮的属性时,只有将( )属性设置为1,Picture属性才有效,否则无效。
A.Style B.Caption C.Enabled D.Default
36、下面有关注释语句的格式,错误的是( )
A.Rem注释内容 B.′注释内容 C.a=3:b=2 ′对a、b赋值
D.Private Sub Command1_MouseDown(button As Integer , shift As Integer , _
Rem 鼠标按下事件的命令调用过程 X As Single ,Y As Single)
37、VB应用程序的运行模式是( )
A.解释运行模式 B.编译运行模式
C.既有解释运行模式又有编译运行模式 D.汇编运行模式 38、工具栏中的“启动”按钮的作用是( )
A.运行一个应用程序 B.运行一个窗体
C.打开被选中的对象的属性窗口 D.打开被选中对象的代码的窗口
39、使用“上下文相关帮助”的操作方法是:选择一个对象或关键字,然后按下( )键。
A.F1 B.F2 C.F3 D.F10
40、应用程序设计完成后,应将程序保存,方法是( )
A.只保存窗体文件即可 B.只保存工程文件即可 C.先保存工程文件,之后还要保存窗体文件
D.先保存窗体文件(或标准模块文件),之后还要保存工程文件
41、一个应用程序若有多个窗体,必须指定启动窗体,缺省情况下,VB在应用程序执行时,总是把( )指定为启动窗体。
A.不包含任何控件的窗体 B.设计时的第一个窗体 C.命名为Frm1的窗体 D.包含控件最多的窗体 42、不论何种控件,都具有( )属性。
A.Text B.Name C.Caption D.BackColor
43、当文本框的ScrollBars属性设置了非零值,却没有效果,原因是( ) A.文本框中没有内容 B.文本框的MultiLine属性为False C.文本框的MultiLine属性为True D.文本框的Locked属性为True
44、要使窗体在运行时不可改变窗体的大小和没有最大化和最小化按钮,只要对( )属性进行设置。
A.MaxButton B.BorderStyle C.Width D.MinButton 45、要使标签控件显示时不覆盖其背景内容,要对( )属性进行设置。 A. BackColor B.BackStyle C.BorderStyle D.ForeColor
正在阅读:
第1章 VB程序设计初步05-30
艺人代言合同(标准版)12-29
Dreamweaver CS5 2014年秋习题1、2及答案04-12
2012年湖北省基础数据要领05-12
微观经济学习题204-27
青岛胶州商业市场调研报告04-17
小学生看图编故事300字06-13
2014年2月知名网站源码更新汇总05-31
医院儿科医生工作总结范文04-17
微观经济学习题(单选)04-29
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 程序设计
- 初步
- 第七单元复习材料
- 在我们这个年龄
- 基于组态的智能仪表液位控制系统设计
- 2010年度公务员招考考试大纲
- 死亡哲学 Microsoft Word 文档
- 华中科技大学考博病理复习题总结概要
- 隧道二衬施工方案-专家论证后修改20150617 - 图文
- 原子物理学综合测试题
- 杭州会计人员需求现状的调查报告
- 1号住宅楼设计任务书
- 物业秩序维护部年度工作总结 - 图文
- 微机实验指导书
- 交通运输企业安全管理人员考试题库试题4
- 储罐充水及沉降观测实施方案
- 建设项目环境影响评价分类管理名录(第44号令)-2018修改单
- 古小彬:渡琼客家人1
- Cisco VSAN和Zone技术比较
- 2016版井下作业井控实施细则
- 2012计算机模拟试卷-04(answer)
- 2019期七年级英语下册 Unit 6 The Animal Kingdom Lesson 17 Int