当前位置:文档之家› 第一章 VB程序设计初步

第一章 VB程序设计初步

第一章 VB程序设计初步
第一章 VB程序设计初步

第一章 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年又推出了https://www.doczj.com/doc/7317155851.html,。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)(1)ActiveX控件只能在专业版或企业版中建立,主要用于开发用户自已

定义的ActiveX控件。

(2)(2)VB应用程序向导该向导用于在开发环境下直接建立新的应用程序

框架。

(3)(3)数据工程主要提供开发数据报表应用程序的框架。

(4)(4)IIS应用程序用VB代码编写服务器端的Internet应用程序。

(5)(5)外接程序选择该类型,可以建立自己的VB外接程序,并在开发环境

中自动打开连接设计器。

(6)(6)DHTML应用程序只能在专业版或企业版中建立。可以编写响应HTML页

面操作的VB代码,并可把处理过程传送到服务器上。

(7)(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.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.2.工具栏

菜单栏下方的工具栏提供了访问常用菜单命令的快捷方式,工具栏中大多数按钮都对应菜单中的一条常用命令,初学者可将鼠标在工具栏各按钮上短时停留,根据鼠标提示信息获取该按钮的功能提示。VB中有标准工具栏、编辑工具栏、窗体编辑器工具栏、调试工具栏等,一般编程时会使标准工具栏显示出来,其它工具栏根据需要通过执行“视图”菜单中“工具栏”子菜单的级联菜单中的相应命令,来显示(或隐藏)。下表1-1所示为标准工具栏上各命令按钮的名称及其功能。

添加Standard EXE工程

添加窗体

菜单编辑器

打开工程保存工

剪切复制粘

查找

撤消和重复

启动中断结束

工程资源管理器

属性窗口

窗体布局窗口

对象浏览器

工具箱

数据视图窗口

Visual Component

1.2.2.2 其它窗口

除主窗口外,VB集成环境中还有一些其它窗口,如窗体设计器窗口、工具箱窗口、属性窗口、工程资源管理器窗口、调色板窗口、代码窗口、立即窗口。

1.1.工具箱窗口

如图1-4所示,在集成开发环境的左边区域窗口为工具箱窗口。工具箱窗口内有一个选项卡“通用(General)”,内含21个图标,除指针外,其余20个均为VB可视标准控件。指针仅用于移动窗体和控件及调整它们的大小。用户可通过“工程”菜单中“部件”命令来装入其它控件到工具箱中。若要不显示工具箱,可直接关闭该窗口,执行“视图”菜单中的“工具箱”命令,可令工具箱再次显示出来。注意,工具箱显示出来后,在代码运行状态下会自动隐藏,返回设计状态又会自动出现。

图1-4 工具箱窗口

除“通用(General)”选项卡外,用户还可添加选项卡来定制自己的专用工具,方法是在工具箱任意处单击右键,选择快捷菜单的“添加选项卡”命令,在弹出的对话框中输入新增选项卡的名称,“确定”后即成功添加了一个自定义选项卡(如图1-4),接下来可对新增选项卡加控件,方法有二,一是直接拖动原有选项卡中已有控件至新增选项卡,二是单击选项卡激活后,再通过“工程”菜单的“部件”命令装入其它控件。

2.2.窗体设计器窗口

窗体设计器窗口位于集成开发环境的中间,简称窗体(Form),是应用程序最终面向用户的窗口,用户通过与窗体上的控制部件交互可得到结果,各种图形、图像、数据等均通过窗体或窗体中的控件显示出来。每个窗体有一个唯一的名称标识,按照建立窗体时的顺序默认名称为Form1 、Form2 ……,一个应用程序可使用多个窗体,但一个应用程序至少应有一个窗体。

窗体就像一块画布,用户可根据应用程序界面的要求,从工具箱中选取所需要的控件,在窗体上画出来,这是VB应用程序界面设计的第一步。由图1-3我们可以看到窗体窗口操作区布满灰色小点,这是一些网格点,方便用户在窗体上定位和对齐控件。如果想清除网格点,或者想改变网格点之间的距离,可通过执行“工具”菜单的“选项”命令,在“通用”标签中调整。

3.3.工程资源管理窗口

工程是组成一个应用程序的所有文件的集合,利用图1-5所示的工程资源管理窗口可以对当前使用的工程进行管理,该窗口中有三个按钮,下接工程资源管理器的文件列表窗口,以层次列表形式列出组成工程的所有文件。三个按钮功能分别为:

◆“查看代码”按钮单击可切换到代码窗口,显示和编辑代码。

◆“查看对象”按钮单击可切换到窗体设计器窗口,显示和编辑对象。

◆“切换文件夹”按钮单击可隐藏或显示包含在对象文件夹中的个别项目列表。

图1-5 工程资源管理器窗口

4.4.代码窗口

每个窗体有自己的代码窗口,专门用于显示和编辑应用程序源代码,如图1-6。打开代码窗口有以下三种方法:

◆◆由“视图”菜单中选择“代码窗口”命令

◆◆从工程资源管理窗口中选择一个窗体或标准模块,并单击“查看代码”按钮。

◆◆双击要查看或编辑代码的窗体或控件本身。

图1-6 代码窗口

代码窗口中各部分简介如下:

◆“对象”列表框单击列表框下拉按钮,可显示窗体中的对象名。其中,“通用”表示与特定对象无关的通用代码,一般利用它声明模块级变量或用户编写自定义过程。

◆“过程”列表框在“对象”列表框选择某一对象名,在过程列表框中选择事件过程名,可构成选中对象的特定事件过程模板,用户可以该模板内输入代码。其中“声明”表示声明模块级变量。

◆“代码编辑区”用户在此输入和编辑代码。

◆“过程查看”按钮单击该按钮代码编辑区只能显示出所选定过程代码。

◆“全模块查看”按钮显示模块中全部过程代码。

5.5.属性窗口

在进行应用程序界面设计时,窗体和控件的属性,如标题、大小、字体、颜色等,可以通过属性窗口来设置和修改。

图1-7 属性窗口

属性窗口如图1-7所示,主要由4个部分组成:

◆对象列表框单击其右边下拉按钮可打开所选窗体包含对象的列表。

◆属性显示排列方式有两个选项,用户可以选择“按字母序”或“按分类序”两种方式排列显示属性。

◆属性列表框属性列表框分为左右两列,左边是各种属性的名称,右边是该属性的默认值,用户可由左边选定某一属性,然后在右边对该属性值进行设置或修改。不同对象所列出的属性值不同。

◆属性含义说明框当在属性列表框中选定某一属性时,在属性含义说明框中将显示所选属性的含义。初学者可利用该项功能认识和熟悉对象的属性含义。

对象的某些属性的取值是有一定限制的,如对象的可见性(Visible)只能设置True (可见)和False(不可见),而有些属性,如标题(Caption)可以设为任何文本。在实际应用中,不可能也没有必要设置每个对象的所有属性,很多属性都可取其默认值。

仅在设计阶段才能激活属性窗口,方法有:

◆◆选择“视图”菜单中“属性窗口”命令。

◆◆按F4键或单击工具栏上的“属性窗口”按钮。

◆◆鼠标单击属性窗口的任意位置。

6.6.窗体布局窗口

用于指定程序运行时的初始位置。主要为使所开发的应用程序能在不同分辨率的显示器上使用,用户只要用鼠标拖动如图1-8所示“窗体布局窗口”中的Form窗体的位置,就决定了该窗体运行时的初始位置。若一个工程中有多个窗体,在布局窗口同时可以观察多个窗体的相对布局。

图1-8 窗体布局窗口

7.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.1.属性

属性可看作是对象的性质,对象中的数据就保存在属性中。在VB可视化编程中,每种对象都有一组特定的属性。如控件的Name(名称)属性、Caption(标题)属性,Font(字体)属性、Color(颜色)属性等决定了控件对象的外观。VB中要设置或改变对象的属性有两种方法:

◆◆在界面设计阶段可通过图1-7所示的属性窗口的属性框直接设置对象的属性。

◆◆在编码运行阶段可通过语句来实现属性的改变,格式为:对象.属性=属性值。

两种方法视程序设计需要可选。例如,要将名称为cmdEnd的按钮的Caption属性值设

为“退出”的方法:

方法一:直接在该按钮的属性框中将其默认的Caption属性值“command1”修改为“退出”。

方法二:在事件过程代码中书写语句:cmdEnd.Caption=”退出”。

2.2.方法

方法是对象本身内含的特殊函数和过程,用于完成某种特定的功能。VB系统本身已将一些通用的过程和函数编写好并封装起来了,作为方法供用户直接调用。方法只能在代码中使用,调用格式为:

[对象名称].方法 [参数列表]

其中,[ ]中为可选项。若省略了对象名称,则表示当前对象,一般指窗体对象,建议初学者不要省略。

例如:

Form1.cls ‘调用cls方法,用于清除窗体Form1上显示的内容Print “Visual Basic 6.0”‘调用Print方法在当前窗体上显示“Visual Basic

6.0”文字

3.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.1.控件的建立(画法)

在窗体上画(建立)一个控件的方法有两种:

◆◆直接在工具箱中双击所需控件图标,如文本框图标,在窗体上即出现一个默认

大小的对象框,用户可在窗体中对其作缩放及移动操作。

◆◆单击工具箱中相应控件图标如文本框图标,将鼠标移到窗体上,此时鼠标光标

变为“+”号(“+”号的中心即为所需控件定位的左上角),将“+”号移到窗体适

当位置,按下鼠标左键向右下方拖动至所需大小后释放。

【注意】每单击一次工具箱中相应的控件图标,只能在窗体上画一个相应的控件,如果要画多个某种类型控件,必须多次单击相应的控件图标。

2.2.控件的选定

刚画完一个控件后,在该控件的边框上有8个黑色小方块,称为控制柄,此时该控件叫做活动控件或当前控件,对控件的所有操作都是针对活动控件来进行。因此,为了对一个控件进行后续操作,必须先将该控件“激活”。方法很简单,只需单击欲操作的对象就可“激活”,也称为选定了该对象。

如果要同时选定多个对象,有两种方法:

◆◆先选定一个对象,按住Ctrl(或Shift)键不放,再分别单击其它要选定的控

件。

◆◆和Windows下选定多个连续文件或文件夹相似,按下鼠标左键拖动鼠标光标,

将欲选定的对象包围在一虚线框中,再释放。

选定多个对象后,属性窗口中只显示它们共同的属性,如果修改其属性值,则被选定的所有控件的属性都将作相应改变,可同时对多个对象进行相同操作。在被选定的多个控件中,有一个控件的控制柄是实心小方块(其它为空心),这个控件称为“基准控件”。当对被选择的控件进行对齐、调整大小等操作时,将以“基准控件”为准。

3.3.控件的复制

复制(拷贝)一个控件步骤如下:

◆◆选定待复制控件,使之呈活动状态。

◆◆单击“编辑”菜单中“复制”命令,将把活动控件复制到剪贴板上。

◆◆执行“编辑”菜单中的“粘贴”,这时屏幕上将显示是否要创建控件数组的对

话框,单击对话框中的“否”按钮,则复制了一个标题(Caption)属性相同而名

称(Name)属性不同的控件对象。

【注意】对初学者,最好不要用“复制”和“粘贴”方法来建立控件,因为这样做很容易不小心建成控件数组,有关控件数组的知识将在第四章中学习。

4.4.控件的删除

要删除一个控件对象,只需选定该对象,将其变为活动控件,按Delete键即可。

5.5.控件的移动和缩放

当控件处于活动状态时,把鼠标光标移到控件边框内任何位置,按住鼠标左键拖动,可将控件移到窗体上任何位置再释放。

对被激活了的控件,直接用鼠标拖拉上、下、左、右四个小方块(控制柄)中的某一个,可以使控件在相应的方向上放大或缩小;如果拖拉位于四个角上的控制柄,则可使该控件同时在两个方向上放大或缩小。

另外,在属性列表中,有四种属性与窗体及控件的位置和大小有关,四种属性分别是Top、Left、Width和Height,窗体和控件的位置由Top和Left属性确定,而Width(表示控件的宽度)和Height(表示控件的高度)属性决定控件的大小,因此我们还可以在属性窗口通过改变控件四种属性值来改变它们的位置和大小。

6.6.多个控件的对齐与调整

窗体中的多个控件常需要进行对齐和调整,如多个控件的对齐,多个控件的间距调整,统一大小,前后顺序的调整等。操作方法是:先选定多个待调整的控件,然后使用“格式”菜单;或通过“查看”菜单中的“工具栏”选择“Form Editor”打开窗体编辑工具栏,使用其中的工具作控件的调整操作。

7.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)(1)新建工程和打开工程

选择“文件”菜单“新建工程”命令,系统会提示保存当前工程文件,然后显示出如图1-2所示的“新建工程”对话框,选择“标准.exe”确定后即可新建一个工程,工程的默认文件名为“工程1”。

【注意】单击工具栏上的第一个按钮即“添加Standard EXE工程”按钮并不能达到新建工程的目的,单击该按钮可创建工程组,即在当前工程中添加一个工程,而不是新建工程。这是初学者很容易犯的一个错误。

“文件”菜单的“打开工程”命令,可打开一个已存在的工程文件到当前工作区。该命令在工具栏上有相应的工具按钮,见表1-1。

(2)(2)保存工程和工程另存为

选择“文件”菜单的“保存工程”命令,是以原有的工程文件名存盘,当某工程是第一次被保存时,系统会弹出“文件另存为”对话框,提示用户输入文件名来保存此工程。保存工程文件的同时保存与该工程有关的修改过的窗体文件和标准模块文件。

“工程另存为”命令是以规定的工程文件名保存工程,通常用于对已有工程修改后的改名存盘。

2.2.添加、删除和保存文件

对于包含多个窗体文件或标准模块文件的工程,对每个文件都存在着文件的添加、删除和保存操作,这样,在保存工程文件之前,应先分别使用“文件”菜单中的“保存Form”或“保存Module”等命令来保存窗体文件和标准模块文件。

窗体文件和标准模块文件的添加和删除可以通过“工程”菜单中相应命令来完成。

【注意】窗体文件和标准模块文件既可在VB工程中删除,也可在VB之外删除。如果在VB外删除一个文件,则VB不能更新相应的工程文件,这样,在打开该工程文件时,将显示文件丢失的出错信息。

1.4窗体及常用控件

由VB程序设计特点我们可以了解到,用VB来编写应用程序,控件的属性及设置非常重要,读者在学习编程的过程中,一定要注意把握这点。为了后续章节的学习方便,在本小节中将简单介绍窗体及几个常用控件的基本属性,更多的常用控件将在本书的第六章中学习。

1.4.1窗体及控件的基本属性

根据1.3.2.2节的知识我们知道,每个对象均有自己的属性,可以通过属性窗口看到所选对象的属性列表及设置值,并可以根据需要在设计阶段或编码阶段来改变属性的值,而当我们改变某个对象的属性值时,对象的行为和外观都相应地会有所变化。不同的对象有许多相同的属性,为介绍的方便,我们把它们称为“基本属性”,但读者请注意,不是所有的对象都具有下面要提到的基本属性,也不是所有的属性都可同时在设计阶段和编码运行阶段改变和设置。

1.1.Name(名称)属性

所有控件均有名称属性,代表所创建对象的名称,其属性值将作为控件的标识在程序中被引用。Name属性只能在设计阶段即只能通过属性窗口来设置或更改,在运行时是只读的,不能在编码运行阶段(即在代码中)修改。

Name属性值必须以字母开头,可以包含字母、数字和下划线,不能包含标点符号和空格,不能与其它公共对象重名。

2.2.Caption(标题)属性

为控件上显示的内容。该属性既可在设计阶段也可在编码运行阶段设置和改变。

3.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.4.Font属性

Font属性改变控件中显示的文本外观,通过该属性能设置FontName(字体),FontSize (字体大小),及一些常用的字体显示效果如FontBold(粗体),FontItalic(斜体),FontStrikethru(加册除线),FontUnderline(加下划线)等。通过单击选定对象属性窗口中Font属性列表的图标后出现如图1-11所示Font属性对话框。在对话框中可完成所需设置。如果用户所设计的界面中所有控件具有相同的Font属性,则只需对窗体的Font属性作设置,窗体内其它控件均服从该属性,除非用户再改变某控件的Font属性值。

图1-11 Font属性对话框

5.5.Enabled属性

该属性决定程序运行时,控件是否响应用户的鼠标或键盘操作。其属性值为逻辑类型,即只有以下两种:True(控件能响应用户鼠标或键盘操作,此值为默认值);False(控件不响应用户的鼠标或键盘操作,并呈暗淡显示)。

【注意】如果将窗体对象的Enabled属性值设置为False,则该窗体上所有的控件均不响应用户的操作。

6.6.Visible属性

该属性决定程序运行时控件是否可见。其属性值为逻辑类型。即:True(控件在程序运行时可见,此值为默认值);False(控件在程序运行时隐藏)。注意:一个Visible属性设置为False的控件,在设计时仍然是可见的,仅在程序运行时不可见。

7.7.AutoSize属性

该属性决定控件是否能自动调整大小。其属性值为逻辑类型。即:True(控件能自动调整大小);False(控件保持原设计时的大小,若正文太长,则会被自动裁剪,此值为默认设置值)。

8.8.Alignment属性

该属性决定控件上文本对齐方式。其属性值有3种:

0 —— Left Justify:显示的文本信息左对齐,此值为默认设置。

1 —— Right Justify:文本信息右对齐显示。

2 —— Center:文本居中对齐。

9.9.WordWrap属性

仅当AutoSize属性设置为True时,WordWrap属性才有效。其属性值为逻辑类型。True (在垂直方向上改变文本显示区域的大小,显示文字换行);False(在水平方向上按正文长度放大和缩小,显示文字不换行,此值为默认设置值)。

10.10.BorderStyle属性

该属性决定控件有无边框。其属性值有2种:

0 —— None:控件无边框。

1 —— Fixed Single:控件带有单边框。

【注意】此属性在程序运行时只读。上述属性值和意义仅适于Label,Text,Picture 等控件,对于窗体、Line、Shape等控件的BorderStyle属性有其它不同的值和意义。

11.11.ForeColor属性

该属性用于设置或返回控件的前景(即正文)颜色。其值是一个十六进制常数,如ForeColor设置为&H000000FF&,表示前景为红色。大多数时候用户可以通过调色板直接选择所需颜色。

12.12.BackColor属性

该属性用于设置除正文以外的显示区域的颜色,其值设置方法和意义同ForeColor属性。

13.13.BackStyle属性

该属性用于设置背景样式,其属性值有2种:

0 —— Transparent:透明样式。即控件背景颜色显示不出,若控件后面还有其他控件,则这些控件可以显示出来。

1 —— Opaque:不透明样式。此时可为控件设置背景颜色,此值为默认设置值。

14.14.MousePointer属性

该属性用于设置在程序运行时当鼠标移至某一对象的特定部分时所显示的鼠标指针形状。设置值为有0,1,2…15,99共17种选择,其中,0-15值的含义可通过属性列表值或帮助系统了解,这里不一一列举,值为99表示用户要自定义指针形状。

15.15.MouseIcon属性

仅当MousePointer属性值为99时,MouseIcon属性可用。该属性用于设置用户自定义的鼠标图标形状,文件类型为.ico或.cur。

16.16.TabIndex属性

该属性用于决定用户按下Tab键时,焦点(Focus)在窗体上各个控件移动的顺序。焦点表示在任何时间控件接收鼠标输入或键盘输入的能力,只有当控件具有焦点时,才可以接

收用户的输入。当窗体上有多个控件时,对大部分控件而言,系统都会分配一个Tab顺序,即用户每按一次Tab键焦点在各个控件上移动的顺序。通常,系统自动分配的Tab顺序总是与设计时控件建立的顺序相同,默认第一个建立的控件的TabIndex属性值为0,第二个为1,以此类推。若要改变这个顺序,则可以设置TabIndex属性。

【注意】运行时不可见(Visible属性为False)或无效(Enable属性为False)的控件以及一些不能接收焦点的控件(如Frame,Label等),会保持在Tab顺序中,但按Tab 键切换时这些控件会被跳过。

17.17.默认属性

在1.3.2.2节中我们知道,在编码运行阶段可通过语句(格式为:对象.属性=属性值)来实现属性的改变。VB中,反映某个控件最重要的属性称为其默认属性,对默认属性,语句格式省略为:对象=属性值。在程序运行时,不必指出是该控件的哪个属性,可以直接改变控件默认属性的值。例如,Text1=”hello!”与语句Text1.Text=”hello!”等效。注意,这种省略仅对控件的默认属性有效。下表1-2列出了部分常用控件的默认属性,读者在阅读他人程序时可能会遇到这种情况,但为保持程序的清晰可读,建议初学者不要采用省略方式。

【例1.2】在窗体,各属性值取默认值;三个标签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-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方法的使用示例"

Print Tab(16); "____________________"

Print ‘输出一个空行

Print

Print Spc(6); "加六个空格输出", "光标在下一打印区"

Print Tab(4); "****"; Spc(7); "****",

Print "3+5="; 3 + 5

Print Tab(4); "****"; Spc(7); "****",

Print "8+9"; "="; 8 + 9

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 = "Load窗体"

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中存放。

VB程序设计教程 第四版 课后答案

vb课后习题答案 第一章习题参考答案 一、填空题 1、对象事件驱动 2、编译运行模式解释运行模式 二、简答题 1、简述VB的特点。 答:①可视化的程序设计方法 ②面向对象的程序设计思想 ③事件驱动的编程机制 ④结构化的程序设计语言 ⑤高度的可扩充性 ⑥强大的数据库访问能力 ⑦支持动态数据交换 ⑧支持对象链接与嵌入 2、简述VB的安装过程。

答:①向光驱中放入VB安装光盘; ②计算机将运行自动安装程序,若没有,执行VB目录下的Setup.exe; ③根据提示逐一回答问题,并点击“下一步”; ④点击“完成”; 2、如何启动VB。 答:三种方法: ①单击“开始”按钮,选择“程序”菜单下的“Microsoft Visual Basic 6.0 中文版”菜单项并单击; ②双击桌面上的VB6.0快捷图标; ③在“开始”菜单的运行对话框中输入命令来启动VB; 第二章习题参考答案 一、选择题: 1-10、 DCACD BCBBC 11-20、BADCA BBAAB 21-29、AACBB CDDC

二、填空题 1.窗体、控件 2.属性值 3.属性窗口设置、代码窗口设置 4.事件过程 5.对象名、下划线、事件名 6. Form_Click 第三章习题参考答案 一、选择题 1、B 2、C 3、A 4、B 5、A 6、C 7、C 二、填空题 1、 11 字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。String、Byte、Integer、Long、Single、Double、Currency、Boolean

、Date、Object、Variant 2、双引号(英文)、# 3、 ASCII、1、2 4、 public、通用、Dim、Static、Private、Static 5、 &、+、+ 6、 Now()、Time、日期型 三、解答题 1、(3) 2、(1 ) 3、(1)常量(关键字)(2)字符型常量(3)逻辑型常量(4)变量(5)字符串常量(6)变量 (7)字符串常量(8)变量(9)日期型常量(题目应是#11/16/1999#)(10)数值型常量(单精度) 4、31 5、(1)(1+y/x)/(1-y/x) (2)x^3+3*x*y/(2-y) (3)sqr(abs(a*b-c^3)) (4)sqr(s*(s-a)*(s-b)*(s-c)) 6、 7、(1)13 (2)17

VB程序设计练习题

《VB程序设计》综合复习资料 第一章Visual Basic程序设计概述 一、填空题 1、Visual Basic是一种面向__________的可视化程序设计语言,采取了__________的编程机制。 2、在VB中工程文件的扩展名是____________,窗体文件的扩展名是____________,标准模块文件的扩展名是____________。 3、执行“工程”菜单下的__________命令,可选择并添加ActiveX控件。 4、Visual Basic 6.0用于开发__________环境下的应用程序。 二、选择题 1、下面不是VB工作模式的是() A.设计模式B.运行模式C.汇编模式D.中断模式 2、可视化编程的最大优点是() A.具有标准工具箱 B.一个工程文件由若干个窗体文件组成 C.不需要编写大量代码来描述图形对象 D.所见即所得 3、下列不能打开属性窗口的操作是() A.执行“视图”菜单中的“属性窗口”命令 B.按F4键C.按Ctrl+T D.单击工具栏上的“属性窗口”按钮 4、下列可以打开立即窗口的操作是() A.Ctrl+D B.Ctrl+E C.Ctrl+F D.Ctrl+G 5、Visual Basic的编程机制是() A.可视化B.面向对象C.面向图形D.事件驱动 三、简答题 1、代码窗口主要包括哪几部分? 2、在工程资源管理器窗口中,主要列出了哪三类文件? 3、窗体布局窗口的主要用途是什么? 4、VB的基本特点是什么? 第二章简单的VB程序设计 一、填空题 2、一个控件在窗体的位置由_______和________属性决定,其大小由__________和_________属性决定。 4、设置控件背景颜色的属性名称是______________________。 5、所有控件都具有的共同属性是__________________属性。 6、一般情况下,控件有两个属性项的缺省值是相同的,这两个属性项是_______________。 7、VB中的每个对象(控件)都有一组特征,这组特征称为__________,我们通过修改它可以控制对象的外观和操作。 8、通常情况下,VB中一个工程主要包括如下四个文件:窗体文件、工程文件、类模块文件和_____________文件,后者的扩展名为.Bas,通常由Basic语言编写,是一个可共用的子程序。 9、VB有三种工作模式,分别是设计(Design)模式、_____________和中断(Break)模式。 二、选择题

第一章 https://www.doczj.com/doc/7317155851.html,概述

第一章https://www.doczj.com/doc/7317155851.html,概述 一、选择题 1. 通用语言运行环境的主要功能为() (A)内存管理(B)执行线程管理 (C)跨平台(D)以上都是 2. .NET所开发的应用程序,在执行时由谁全权负责() (A)CLR (B)编译器(C)操作系统(D)不需要 3. Visual Basic .NET所编译而成的内容为() (A)机器码(B)组合语言(C)P-Code (D)MSIL 4. .NET应用程序第二次执行时,不需要编译的原因是() (A)已经产生执行文件(B)Cache的机制 (C)通用语言规范本身的要求(D)以上都不是 5.项目文件是以哪种扩展名来保存的() (A).sln (B).vb (C).vbproj (D).sou 6. 在.NET开发环境下,选取“Web”工具栏上的“首页”会出现() (A)微软首页(B)Yahoo!(C)Kimo (D)起始页 7. 某个窗口被关闭,必须使用菜单中的哪一个选项来打开() (A)说明(B)视图(C)文件(D)编辑 8.在.NET的设计中,项目由谁来管理() (A)帮助(B)项目本身(C)类库(D)方案 二、填空题 1. 目前.NET开发环境提供了那些程序设计语言的开发功能:()、 ()和()。 2. JIT是什么的缩写()。 3. .NET所提供的应用程序开发平台,主要包含三个部分:()、 ()和()。 4. 列举CLR的五个特性:()、()、()、() 和()。 三.判断题 1. .NET的Web Service是以HTML为基础的。() 2. .NET提出的Web Service最下层就是采用常规的SOAP协议。() 3. .NET开发的窗口应用程序,无需复杂的部署安装,只要选取【复制|粘贴】 就行了。() 4. Visual Basic .NET提供https://www.doczj.com/doc/7317155851.html, Web应用程序的开发。() 四.简述题 1、简述Visual Basic的特点。 2、https://www.doczj.com/doc/7317155851.html,的集成开发环境由哪些基本部分组成? 3、https://www.doczj.com/doc/7317155851.html,运行环境有哪些要求? 4、如何利用属性窗口设置控件的属性? 5、在https://www.doczj.com/doc/7317155851.html,中创建应用程序的步骤有哪些? 五. 程序设计题 1.演练安装 Visual https://www.doczj.com/doc/7317155851.html,产品。 2.在Visual https://www.doczj.com/doc/7317155851.html,开发环境中创建一个项目,体会IDE创建解决方案

VB程序设计答案

VB程序设计答案 第一章习题参考答案 一、填空题 1、对象事件驱动 2、编译运行模式解释运行模式 二、简答题 1、简述VB的特点。 答:①可视化的程序设计方法 ②面向对象的程序设计思想 ③事件驱动的编程机制 ④结构化的程序设计语言 ⑤高度的可扩充性 ⑥强大的数据库访问能力 ⑦支持动态数据交换 ⑧支持对象链接与嵌入 2、简述VB的安装过程。 答:①向光驱中放入VB安装光盘; ②计算机将运行自动安装程序,若没有,执行VB目录下的Setup.exe; ③根据提示逐一回答问题,并点击“下一步”; ④点击“完成”; 2、如何启动VB。 答:三种方法: ①单击“开始”按钮,选择“程序”菜单下的“Microsoft Visual Basic 6.0 中文版”菜单项并单击; ②双击桌面上的VB6.0快捷图标; ③在“开始”菜单的运行对话框中输入命令来启动VB; 第二章习题参考答案 一、选择题: 1-10、DCACD BCBBC 11-20、BADCA BBAAB 21-29、AACBB CDDC 二、填空题 1.窗体、控件 2.属性值 3.属性窗口设置、代码窗口设置 4.事件过程 5.对象名、下划线、事件名 6.Form_Click 第三章习题参考答案

一、选择题 1、B 2、C 3、A 4、B 5、A 6、C 7、C 二、填空题 1、11 字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。String、Byte、Integer、Long、Single、Double、Currency、Boolean 、Date、Object、Variant 2、双引号(英文)、# 3、ASCII、1、2 4、public、通用、Dim、Static、Private、Static 5、&、+、+ 6、Now()、Time、日期型 三、解答题 1、(3) 2、(1 ) 3、(1)常量(关键字)(2)字符型常量(3)逻辑型常量(4)变量(5)字符串常量(6)变量 (7)字符串常量(8)变量(9)日期型常量(题目应是#11/16/1999#)(10)数值型常量(单精度) 4、31 5、(1)(1+y/x)/(1-y/x) (2)x^3+3*x*y/(2-y) (3)sqr(abs(a*b-c^3)) (4)sqr(s*(s-a)*(s-b)*(s-c)) 6、 7、(1)13 (2)17 (3)#1999-11-12# (4)zxy123ABC 8、(1)19 (2)8.16666666666667 (3)5.25 (4)2 9、(1)-4 (2)2 . 82842712474619 (3)-3 (4)49 (5)”hello”(6)He 7)16 (8)“-459.65”(9)5 10、(4) 11、(2) 12、(4) 第四章习题参考答案 一、选择题: 1—7: DAABBCD 二、填空题 1.500.00% 2.将字号扩大为原来的二倍 3. B 三、编程题(略) 1.文本框、标签和命令按钮的名称分别为text1、label1、command1 Private Sub Command1_Click() Label1.caption=text1.text Command1.caption=text1.text

《VB程序设计》课程练习题

《VB程序设计》课程练习题 上表中的题号所对应题目的题干: 1、叙述Visual Basic的特点。 2、当窗体上有三个文本框和一个命令按钮,若程序运行时,焦点定位在第三个文本框(Text3)处,应对何控件的什么属性进行何种设置? 3、若要对窗体上的三个文本框输入数据,个控件焦点的移动可通过Tab键(系统本身具有的),也可通过回车键,则要对文本框的什么事件编程? 4、当某文本框输入数据后(按了回车键),进行判断认为数据输入错,怎样删除原来数据?怎样使焦点回到文本框重新输入? 5、怎样把关于Command命令按钮的Enabled属性的帮助示例代码复制到你的代码窗口?已知帮助中的代码如下: Private Sub Form_Load() Text1.Text = ””…消除文本框的内容 Command1.Caption = “Save”…在按钮上放置标题 End Sub Private Sub Text1_Change() If Text1.Text = “” Then …查看文本框是否为空 Command1.Enabled = False …使按钮无效 Else Command1.Enabled = True …使按钮有效 End If End Sub 6、当运行程序前,对某些控件设置属性值,除了在窗体中直接设置外,还可以通过代码设置,这些代码一般放在什么事件中?例如,程序要将命令按钮定位在窗体的中央,请写出事件过程。 7、在KeyPress事件中,如何取消用户刚键入的字符?

8、静态数组与动态数组的区别是什么?在声明静态数组、重定义动态数组时的下标都可以用变量来表示吗? 9、函数过程和子过程的区别是什么? 10、子过程调用有哪两种形式? 11、什么是形参?什么是实参?什么是值引用?什么地址引用?地址引用时,对应的实参有没有限制? 12、如果要时钟控件每半分钟发生一个Timer事件,则Interval属性应设置为多少? 13、如果在KeyDown事件过程中将KeyCode设置为0,KeyPress的KeyAscii参数会不会受影响?如果输入的对象是文本框,那文本框的内容是否有影响? 14、构造满足下列条件的Open语句。 (1)建立一个新的顺序文件SEQNEW.DA T,供用户写入数据,指定文件号为1。 (2)打开一个老的顺序文件SEQOLD.DA T,用户将从该文件读出数据,指定文件号为2。(3)打开一个老的顺序文件SEQAPPEND.DA T,用户将在该文件后面添加数据,文件号通过调用FreeFile函数获得。 15、请写出程序代码片段,将磁盘上的两个文件合并。(提示:把它们作为二进制文件打开) 16、PictureBox控件和Image控件有什么区别? 17、Visual Basic可处理哪些格式的图形文件? 18、在程序运行时怎样在图形(像)框中装入或删除图形? 19、简述Printer对象与Printers集合对象的区别。 20、当要在ToolBar控件中添加一个按钮,如何实现? 21、当要修改ToolBar控件某按钮的图像,如何实现? 22、Visual Basic中记录集有几种类型?有何区别?

VB程序设计知识点归纳(吐血推荐)

第一章 1 从功能上讲,Visual Basic 6.0有3种版本,即:学习版、专业版、企业版 2 与传统的程序设计语言相比,Visual Basic最突出的特点是事件驱动编程机制。 3 Visual Basic 6.0集成环境的主窗口中含有标题栏、菜单栏、工具栏 4用标准工具栏中的工具按钮不能执行的操作是打印源程序。 5关于Visual Basic"方法"的概念错误的是方法是对事件的响应 6在Visual Basic中,称对象的数据为属性 7Visual Basic应用程序可以用解释方式执行也可以用编译方式执行 第二章 1 计时器控件的Interval属性用于设置Timer事件发生的时间间隔,为了暂时关闭计时器,应把该计时器的Enabled 属性设置为False ,如果要求设置定时器时间间隔为1秒钟,那么它的Interval属性值应该等于1000 2 利用Ctrl + G操作可以打开立即窗口。 3 假定窗体上有一个标签,名为Lable1。为了使该标签透明并且没有边框,则正确的属性设置为:Lable1.BackStyle = 0 Lable1.BorderStyle = 0 4在设计阶段,当双击窗体上的某个控件时,所打开的窗口是代码窗口 5 在Visual Basic中,窗体文件的扩展名为FRM 6 窗体的Name属性指定窗体的名称,用来标识一个窗体 7 改变控件在窗体中的上下位置,应修改该控件的属性是Top 8 表示滚动条控件取值范围最大值的属性是Max 9 如果要改变窗体的标题,则需要设置的属性是Caption 10 在文本框(Text)中,通过ForeColor属性来设置字体颜色 11 若要求从文本框中输入密码时在文本框中只显示*号,则应当在此文本框的属性窗口中设置Passwordchar属性值为* 12 能够改变复选框中背景颜色的属性是Backcolor 13 图片框是不具有Picture属性的对象 14 窗体的Name属性指定窗体的名称,用来标识一个窗体 15 要想返回文本框中输入的内容则可利用text属性进行编程 第三章 1用于从字符串左边截取字符的函数是Left( ),设a="Visual Basic",使b="Basic"的语句是b=Left(a,8,5)。 2下列符号中哪个是VB程序中合法的变量名:A ab7 B 7ab C If D a*bc (A)数字开头,关键字,* 3X是小于100的非负数,用VB表达式表达正确的是0<=X and X<100 4设有如下变量声明Dim TestDate As Date 为变量TestDate正确赋值的表达方式是 TextDate=#1/1/200 2# 5表达式4 + 5 \ 6 * 7 / 8 Mod 9的值是5,设a=3,b=5,则表达式(a>b)Or(b>0)值为真。5/5.25 为1 如果除数与被除数不是整数时,系统会自动对其进行取整运算,取整是有规律的:如果整数部分为偶数,大于0.5的就进位,小于等于0.5的就直接把小数去掉,5舍6入;如果整数部分为奇数,4舍5入。例如: 5\2.5等价于5\2 5\2.6等价于5\3 5\2.4等价于5\2 5.4\3等价于5\3 5\1.5等价于5\2 6函数String(n,"str")的功能是返回由n个字符组成的字符串 7设有如下声明:

第一章VB程序设计初步

第一章VB 程序设计初步 1.1 Visual Basic 的发展 Visual Basic (以下简称VB)是Microsoft 公司于1991年推出Windows应用程序开发工具。Visual —词具有“可视化的”、“形象化的”的含义,在语言功能方面,VB与早期的Basic语言基本兼容,但由于VB具有良好的图形用户界面( Graphic User in terface ,即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年又推出了https://www.doczj.com/doc/7317155851.html,。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应用程序,一般选择“新建”选项卡。

VB程序设计教程(第四版)课后答案

VB课后习题答案 第一章习题参考答案 一、填空题 1、对象事件驱动 2、编译运行模式解释运行模式 二、简答题 1、简述VB的特点。 答:①可视化的程序设计方法 ②面向对象的程序设计思想 ③事件驱动的编程机制 ④结构化的程序设计语言 ⑤高度的可扩充性 ⑥强大的数据库访问能力 ⑦支持动态数据交换 ⑧支持对象链接与嵌入 2、简述VB的安装过程。 答:①向光驱中放入VB安装光盘; ②计算机将运行自动安装程序,若没有,执行VB目录下的Setup.exe; ③根据提示逐一回答问题,并点击“下一步”; ④点击“完成”; 2、如何启动VB。 答:三种方法:

①单击“开始”按钮,选择“程序”菜单下的“Microsoft Visual Basic 6.0 中文版”菜单项并单击; ②双击桌面上的VB6.0快捷图标; ③在“开始”菜单的运行对话框中输入命令来启动VB; 第二章习题参考答案 一、选择题: 1-10、 DCACD BCBBC 11-20、BADCA BBAAB 21-29、AACBB CDDC 二、填空题 1.窗体、控件 2.属性值 3.属性窗口设置、代码窗口设置 4.事件过程 5.对象名、下划线、事件名 6. Form_Click 第三章习题参考答案 一、选择题

1、B 2、C 3、A 4、B 5、A 6、C 7、C 二、填空题 1、 11 字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。String、Byte、Integer、Long、Single、Double、Currency、Boolean 、Date、Object、Variant 2、双引号(英文)、# 3、 ASCII、1、2 4、 public、通用、Dim、Static、Private、Static 5、 &、+、+ 6、 Now()、Time、日期型 三、解答题 1、(3) 2、(1 ) 3、(1)常量(关键字)(2)字符型常量(3)逻辑型常量(4)变量(5)字符串常量(6)变量 (7)字符串常量(8)变量(9)日期型常量(题目应是#11/16/1999#)(10)数值型常量(单精度) 4、31 5、(1)(1+y/x)/(1-y/x) (2)x^3+3*x*y/(2-y) (3)sqr(abs(a*b-c^3)) (4)sqr(s*(s-a)*(s-b)*(s-c)) 6、

VB程序设计知识点归纳

第一章 1 从功能上讲,Visual Basic 6、0有3种版本,即:学习版、专业版、企业版 2 与传统的程序设计语言相比,Visual Basic最突出的特点就是事件驱动编程机制。 3 Visual Basic 6、0集成环境的主窗口中含有标题栏、菜单栏、工具栏 4用标准工具栏中的工具按钮不能执行的操作就是打印源程序。 5关于Visual Basic"方法"的概念错误的就是方法就是对事件的响应 6在Visual Basic中,称对象的数据为属性 7Visual Basic应用程序可以用解释方式执行也可以用编译方式执行 第二章 1 计时器控件的Interval属性用于设置Timer事件发生的时间间隔,为了暂时关闭计时器,应把该计时器的Enabled属性 设置为False ,如果要求设置定时器时间间隔为1秒钟,那么它的Interval属性值应该等于1000 2 利用Ctrl + G操作可以打开立即窗口。 3 假定窗体上有一个标签,名为Lable1。为了使该标签透明并且没有边框,则正确的属性设置为:Lable1、BackStyle = 0 Lable1、BorderStyle = 0 4在设计阶段,当双击窗体上的某个控件时,所打开的窗口就是代码窗口 5 在Visual Basic中,窗体文件的扩展名为FRM 6 窗体的Name属性指定窗体的名称,用来标识一个窗体 7 改变控件在窗体中的上下位置,应修改该控件的属性就是Top 8 表示滚动条控件取值范围最大值的属性就是Max 9 如果要改变窗体的标题,则需要设置的属性就是Caption 10 在文本框(Text)中,通过ForeColor属性来设置字体颜色 11 若要求从文本框中输入密码时在文本框中只显示*号,则应当在此文本框的属性窗口中设置Passwordchar属性值为* 12 能够改变复选框中背景颜色的属性就是Backcolor 13 图片框就是不具有Picture属性的对象 14 窗体的Name属性指定窗体的名称,用来标识一个窗体 15 要想返回文本框中输入的内容则可利用text属性进行编程 第三章 1用于从字符串左边截取字符的函数就是Left( ),设a="Visual Basic",使b="Basic"的语句就是b=Left(a,8,5)。 2下列符号中哪个就是VB程序中合法的变量名:A ab7 B 7ab C If D a*bc (A) 数字开头, 关键字,* 3X就是小于100的非负数,用VB表达式表达正确的就是0<=X and X<100 4设有如下变量声明Dim TestDate As Date 为变量TestDate正确赋值的表达方式就是 TextDate=#1/1/200 2# 5表达式4 + 5 \ 6 * 7 / 8 Mod 9的值就是5,设a=3,b=5,则表达式(a>b)Or(b>0)值为真。5/5、25 为1 如果除数与被除数不就是整数时,系统会自动对其进行取整运算,取整就是有规律的:如果整数部分为偶数,大于0、5的就进位,小于等于0、5的就直接把小数去掉,5舍6入;如果整数部分为奇数,4舍5入。例如: 5\2、5等价于5\2 5\2、6等价于5\3 5\2、4等价于5\2 5、4\3等价于5\3 5\1、5等价于5\2 6函数String(n,"str")的功能就是返回由n个字符组成的字符串 7设有如下声明: Dim X As Integer 如果Sgn(X) 的值为-1,则X的值就是小于0的数Sgn(3-5)=-1 Sgn(5-3)=1 8Integer类型的数据由2字节组成,Long类型的数据由4字节组成。 9已知X<Y,A>B,正确表示它们之间关系的式子就是Sgn(Y-X)-Sgn(A-B)=-2

相关主题
文本预览
相关文档 最新文档