当前位置:文档之家› 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/066620910.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程序设计的几个简单例子

Option Explicit Private Sub Command1_Click() Dim i%, j%, r! i = Val(Text1.Text) j = Val(Text2.Text) Picture1.Print i; j; Call gysh(i, j) Picture1.Print "最大公约数是" & i r = Val(InputBox("输入半径")) Call S(r) End Sub Public Function gysh(m As Integer, n As Integer) As Integer Dim t% Do t = m Mod n: m = n: n = t Loop While t <> 0 End Function Public function S(r!) Const pi = 3.1415926 S = pi * r ^ 2 MsgBox "圆面积为:" & S End function Public Function 定积分() End Function

Dim a() As Integer, i%, j%, n%, t% Private Sub Command1_Click() Picture1.Print "排序前的数组为:" n = V al(InputBox("请输入一个3到100的整数")) ReDim a(1 To n) Randomize For i = 1 To n a(i) = Int(Rnd * 100) + 1 Picture1.Print Tab(((i - 1) Mod 5) * 6); a(i); Next i End Sub Private Sub Command2_Click() Picture1.Print Picture1.Print "排序后的数组为:" For i = 1 To n - 1 For j = i + 1 To n If a(i) > a(j) Then t = a(i) a(i) = a(j) a(j) = t End If Next Next For i = 1 To n Picture1.Print Tab(((i - 1) Mod 5) * 6); a(i); Next End Sub

完整word版,VB程序设计例题12例

索引 一、在窗体上画一个文本框,其名称为Text1,Text属性为空白。再画一个命令按钮,其名称为C1,Visible属性为False。编写适当的事件过程。程序运行后,如果在文本框中输入字符,则命令按钮出现。 二、计算圆的周长和面积:在窗体中添加一个文本框(Text1)和一个对应的标签(Label1),再添加两个命令按钮(Command1和Command2)和一个图片框(Picture1)。程序运行时,当单击Command1按钮后,计算圆的周长;当单击Command2按钮后,计算圆的面积;计算结果输出在图片框中。(要求在未输入半径前两个按钮呈灰色不可用。) 三、在窗体上添加三个文本框和对应的三个标签,标签的标题分别是“个位”、“十位”、“百位”。程序运行时,当单击窗体后,随机产生一个【100,999】区间内的整数,将它的个位、十位、百位数字分别显示在对应的文本框中。 四、设计一个计算程序:在窗体上添加四个文本框和四个对应的标签,标签的标题分别是“语文”、“数学”、“外语”、“平均成绩”,三个命令按钮,标题分别为“清除”、“计算”、“退出”。程序运行后,用户按“清除”按钮,则清除文本框中显示的内容,按“计算”按钮,则计算三科平均成绩,将计算结果显示在第四个文本框中(计算结果保留小数点后一位)。单击退出按钮则程序退出。 五、某税务部门征收所得税,规定如下:(1)收入200元以内,免征。(2)收入在200~400元,超过200元的部分纳税3%。(3)收入超过400元的部分,纳税4%。(4)当收入达5000元或超过时,将4%税金改为5%。编程序实现上述操作。 六、给定三角形的三条边的边长,计算三角形的面积。编写程序,首选判断给出的三条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。当输入-1时结束程序。 七、编程求100以内的全部素数。 八、编程打印钻石图案。 九、输出杨辉三角形。 十、有一个数组,包含了10个不同的随机整数(20~90),要求计算出它们的平均值,并输出这个数组中最接近于平均值的数。 十一、在一个窗体上建有包含三个命令按钮的控件数组和一个文体框。编程实现当按下标题不同的命令按钮时,使文体框中文字的字体发生相应的变化。 十二、编程求1000以内的完全数。所谓完全数是指这样的自然数:它的各个约数(不包括该数本身)。如28=1+2+4+7+14就是一个完全数。

VB程序设计例题程序改错程序填空程序设计

'以下程序段用于输出杨辉三角:结果样式如图1 ' Private Sub Form_Click() Const n = 10 Dim arr(n, n) As Integer For I = 1 To n arr(I, I) = 1 '**********SPACE********** 【arr(I, 1) = 1】 Next I For I = 3 To n For j = 2 To I - 1 '**********SPACE********** arr(i, j) =arr(i-1,j-1)+arr(i-1,j) Next j Next I For I = 1 To n For j = 1 To I '**********SPACE********** 【print arr(I,j)】 Next j Print Next I End Sub Option Explicit '------------------------------------------------ '【程序改错】 '------------------------------------------------ '题目:用自定义函数的方法求sum(x),求当-1≤x≤1时,' sum(x)=x/2!+x^2/3!+x^3/4!+……+x^n/(n+1)!, ' 当x〉1或x〈-1时,函数值为0。当n〈=0时,输入数' 据错误。X、N都是由用户输入。 '------------------------------------------------ '注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Command1_Click() Dim s As Single Dim n As Integer, x As Single, k As Integer n = Val(InputBox("Please input a integer value:"))

VB可视化程序设计实例——小时钟

VB可视化程序设计实例——小时钟 本例专门针对程序设计初学者而设计,尤其适合第一次接触VB的学生学习。通过用VB来设计如图3.39所示的时钟程序,初步感受一下可视化和面向对象的程序设计过程。 图3.39 时钟程序运行效果 小时钟程序中包含窗体控件、标签控件和计时器控件等3个控件。窗体控件是小时钟程序运行时的窗口,标题栏上的标题是“时钟”,在右上角有最小化、最大化和关闭按钮。标签控件可以用来显示文本,本例中用来显示时间,如“9:48:57”。计时器控件每秒一次把计算机的当前系统时间显示到标签控件中,使得小时钟不停地运行。Array启动VB,首先显示“新建工程”对话框(图3.40),在选择“新建”选项卡中的“标 准EXE”项后,单击“打开”按钮,进入VB编程环境,如图3.41所示。 图3.40 “新建工程”对话框

图3.41 VB 可视化编程环境 除了标题栏、菜单栏和标准工具栏外,编程环境中还有工具箱、窗体和属性等窗口。 双击工具箱(图3.42)中的标签控件,在窗体Form1中放置可以显示文本信息的标签控件Label1,见图3.43。时钟的时、分和秒以后就显示在Label1中。拖曳Label1可以移动它,拖曳它的八个控制点,可以改变它的大小。 图3.42 工具箱 图3.43 label1控件 图3.44 计时器控件 双击工具箱中的计时器控件,在窗体Form1中放置计时器控件Timer1,见图3.44。计时器控件以一定的时间周期,调用一个事件。计时器控件只有在设计阶段出现在窗体上,程序运行时是不可见的,它的位置和大小无关紧要。 到目前为止,已经建立了窗体Form1、标签控件Label1和计时器控件Timer1等3个对象。下面,将设置它们的属性。 窗体窗口

vb程序的设计实例

vb程序设计实例 2009-5-22 15:37 提问者:淘淘的某在|悬赏分:20 |浏览次数:1688次 编写程序,设银行定期存款的年利率为:1年期2.25%,2年期2.43%,3年期为2.70%,5年期为2.88%(不记复利)。今有X元,5年以后使用,共有如下6中存法: ①存一次5年期; ②存一次3年期,一次2年期; ③存一次3年期,两次1年期; ④存两次2年期,一次1年期; ⑤存一次2年期,三次1年期; ⑥存五次1年期. 分别计算各种存法5年后到期的本息合计,如图所示 2009-5-22 17:06 最佳答案 Private Sub Form_Activate() '1年期2.25%,2年期2.43%,3年期为2.70%,5年期为2.88%(不记复利)。今有X元,5年以后使用,共有如下6中存法: Const x1 As Double = 0.0225, x2 As Double = 0.0243, x3 As Double = 0.027, x5 As Double = 0.0288 Dim x As Double x = Val(InputBox("")) Print "①存一次5年期,5年后到期的本息合计"; ss(x, 5, x5) Print "②存一次3年期,一次2年期,5年后到期的本息合计"; ss(ss(x, 3, x3), 2, x2) Print "③存一次3年期,两次1年期,5年后到期的本息合计"; ss(ss(ss(x, 3, x3), 1, x1), 1, x1) Print "④存两次2年期,一次1年期,5年后到期的本息合计"; ss(ss(ss(x, 2, x2), 2, x2), 1, x1) Print "⑤存一次2年期,三次1年期,5年后到期的本息合计"; ss(ss(ss(ss(x, 2, x2), 1, x1), 1, x1), 1, x1) Print "⑥存五次1年期,5年后到期的本息合计"; ss(ss(ss(ss(ss(x, 1, x1), 1, x1), 1, x1), 1, x1), 1, x1) End Sub Private Function ss(ByVal a As Double, b As Integer, c As Double) As Double ss = a + a * c * b End Function Private Sub Form_Load()

VB编程实例精讲(150例)

ExcelVBA编程实例(150例) 主要内容和特点 《ExcelVBA编程入门范例》主要是以一些基础而简短的VBA实例来对ExcelV BA中的常用对象及其属性和方法进行讲解,包括应用程序对象、窗口、工作簿、工作表、单元格和单元格区域、图表、数据透视表、形状、控件、菜单和工具栏、帮助助手、格式化操作、文件操作、以及常用方法和函数及技巧等方面的应用。这些例子都比较基础,很容易理解,因而,很容易调试并得以实现,让您通过具体的实例来熟悉ExcelVBA编程。 ■分16章共14个专题,以具体实例来对大多数常用的ExcelVBA对象进行讲解; ■一般而言,每个实例都很简短,用来说明使用VBA实现Excel某一功能的操作; ■各章内容主要是实例,即VBA代码,配以简短的说明,有些例子可能配以必要的图片,以便于理解; ■您可以对这些实例进行扩充或组合,以实现您想要的功能或更复杂的操作。VBE编辑器及VBA代码输入和调试的基本知识 在学习这些实例的过程中,最好自已动手将它们输入到VBE编辑器中调试运行,来查看它们的结果。当然,您可以偷赖,将它们复制/粘贴到代码编辑窗口后,进行调试运行。下面,对VBE编辑器界面进行介绍,并对VBA代码输入和调试的基本知识进行简单的讲解。 激活VBE编辑器 一般可以使用以下三种方式来打开VBE编辑器: ■使用工作表菜单“工具——宏——Visual Basic编辑器”命令,如图00-01所示;■在Visual Basic工具栏上,按“Visual Basic编辑器”按钮,如图00-02所示;■按Alt+F11组合键。

图00-01:选择菜单“工具——宏——Visual Basic编辑器”命令来打开VBE编辑器 图00-02:选择Visual Basic工具栏上的“Visual Basic编辑器”命令按钮来打开VBE编辑器 此外,您也可以使用下面三种方式打开VBE编辑器: ■在任一工作表标签上单击鼠标右键,在弹出的菜单中选择“查看代码”,则可进入VBE编辑器访问该工作表的代码模块,如图00-03所示; ■在工作簿窗口左上角的Excel图标上单击鼠标右键,在弹出的菜单中选择“查看代码”,则可进入VBE编辑器访问活动工作簿的ThisWorkbook代码模块,如图00-04所示; ■选择菜单“工具——宏——宏”命令打开宏对话框,若该工作簿中有宏程序,则单击该对话框中的“编辑”按钮即可进行VBE编辑器代码模块,如图00-05所示。

vb程序设计经典例题

VB程序设计期末模拟试题及答案 《VB》期末复习题及答案 综合复习题 一、填空题 1.创建一个VB应用程序三个主要的步骤是_创建应用程序界面_、_设置属性_和_编写代码_。 2.当程序运行时,要求窗体中的文本框呈现空白,则在设计时,应当在此文本框的_属性__窗口中,把此文本框的_text_属性设置成空白。 3.Label和TextBox控件用来显示和输入文本,如果仅需要让应用程序在窗体中显示文本信息,可使用__Label___控件;若允许用户输入文本,则应使用 _TextBox__控件。 4.窗体的常用方法有__Load方法__、_show方法_、 Hide方法__和_Unload方法_。 5.要想在代码中给名为txtshow的文本框赋予文本:GOOD WORK ,应当编写的语句是_Txtshow.Text="GOOD WORK"_。 6.若命令按钮的名称为Cmdopen,程序要求单击该命令按钮时,打开一个窗口frm1,请对以下事件过程填空。 Private Sub Cmdopen_ Click()___ __Frm1.show__ End Sub 7.Visual Basic 6种类型的表达式是_数算表达式____、__字符串表达式_、__关系表达式__、 __布尔表达式__、___日期表达式__、___对象表达式_。Visual Basic根据表达式的__运算符_来确定表达式的类型。 8.表达式93 \ 7 Mod 2 ^ 2 的值是______1_____。 9.已知a=3,b=4,c=5,表达式a>b and Not c>a Or c>b And ca And Not b

VB程序设计题库(全)

VB程序设计练习题 第一题、 题目:(事件)单击窗体 (响应)求50以内所有偶数的和,并在窗体上输出来。 将结果存入变量S中。 代码:Dim I As Integer For i = 2 To 50 If (i Mod 2)=0 Then S=s+i End If Next Print (CStr(s)) 第二题 题目:(事件)双击窗体 (响应)求s=1+1*2+1*2*3+….+1*2*3*….*10并将结果存入变量S中代码:Dim i,j As Integer Dim k As Long k=1 s=0 For i =1To 10 For j=1 To i k=k*j Next s=s+k k=1 Next Print(CStr(s)) 第三题 题目:(事件)单击窗体 (响应)求100以内偶数的和,并将结果输出在窗体上。 将结果存入变量SUM中 代码:Dim i As Integer For i =1 To 100 If i Mod 2 =0 Then Sum=sum+i End If Next Print sum 第四题题目:(事件)单击窗体 (响应)编写程序求10*11*12+11*12*13+….+15*16*17的结果并将结果输出到窗体上。将结果存入变量M中。 代码:Dim i,j As Integer Dim s As Long For i =10 To 15 s=1 For j = i To i +2 s=s*j Next m=m+s Next Print (CStr(m)) 第五题 题目:(事件)双击窗体 (响应)求100以内奇数的和,并将结果输出在窗体上。 将结果存入变量SUM中。 代码:Dim i As Integer For i=1 To 100 If i Mod 2 = 1 Then sum = sum + i End If Next Print sum 第六题 题目:(事件)单击窗体 (响应)已知S=1+1/4+1/9+1/16+1/25+…+1/100, 结果输出在窗体上 代码:Dim s As Single For i=1 To 10 a=i*i Sum =1/a + Sum Next Print Sum 第八题 题目:(事件)单击窗体 (响应)求1—1/2+1/3—1/4+….+1/99—1/100的值。 将结果存入变量J中 代码:Dim j As Single

一个简单VB程序设计过程

VB 程序设计过程

程序设计——编程人员使用程序设计语言设计一个计算机程序。 【引例】简单VB程序设计实例。功能要求:单击←、→、↑、↓中的任何一个命令按钮,红色小球就会向相应方向移动一定距离。

1、分析问题 根据程序的功能要求,可见程序必须具有以下具体功能。 (1)程序必须能够接收程序用户输入的小球移动方向,即原始数据输入。本例使用4个“命令按钮”向程序用户提供给方向数据输入平台。 (2)当程序用户输入一个方向数据后,程序必须能够立即自动计算小球新的位臵,即数据处理。本例对于4个不同的移动方向分别计算新的位臵数据。 (3)程序必须能够向程序用户展示小球的移动效果,即输出结果数据。本例使用一个红色小球图形向程序用户实时展示移动效果。

2、建立一个VB应用程序工程 启动VB6.0 IDE后会弹出“新建工程”对话框,在“新建” 选项卡中选择“标准.EXE”图标,单击“打开”命令按钮,或双击“标准.EXE”图标,即可新建一个默认名为“工程1” 的应用程序设计工程项目。 ?【问1-3-3】什么是工程? 【答1-3-3】用来建造VB应用 程序的设计文件集合。

在新建一个工程时后,VB6.0 IDE会根据设计内容自动建立一系列设计文件。 第一个设计文件就是VB6.0 IDE 自动新建一个默认名为“Form1”的窗体对象,这个窗体对象就是程序界面的设计平台。

在命令行操作系统下运行应用程序(例如DOS),程序用户需要在按照操作系统规则输入相应的命令行使用应用程序。 在图形界面操作系统(例如Windows)下运行应用程序,程序用户使用鼠标和键盘通过对图形界面的操作使用应用程序。可见,应用程序用户图形界面(简称程序界面)是用户使用应用程序的一个图形化控制平台,程序界面的设计是设计Windows应用程序的基础。 【设计程序界面的方法】使用VB6.0 IDE工具箱中提供的控件类,在窗体对象上创建需要的控件对象。

VB程序设计教程课后答案

习题一 习题二 .对象指现实世界中的实体。每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。 类是对同一种对象的集合与抽象。类包含所创建对象的属性数据,以及对这些数据进行操作的方法。封装和隐藏是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。 VB工具箱中的可视图标是VB系统设计好的标准控件类。通过将控件类实例化,得到真正的控件对象。在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。 VB中常用的对象是控件。此外,VB还提供了系统对象。窗体是个特例,它既是类也是对象。当向一个工程添加一个新窗体时,实质就由窗体类创建了一个窗体对象。 对象的三要素:属性、事件和方法。 属性:存放对象的数据(决定对象外观及功能)对象属性的设置方法:在设计阶段,利用属性窗口直接设置属性值;程序运行时,通过语句[对象名.]属性名=属性值。若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。 事件:发生在对象上的事情。同一事件,对不同的对象,会引发不同的反应。 事件过程:应用程序处理事件的步骤。应用程序设计的主要工作就是为对象编写事件过程的代码。 方法:面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数。方法是面向对象的,调用时一定要指明对象。 2.窗体和控件具有的基本属性“ (1) Name属性:名称 所创建的对象名称,在程序中引用。 (2) Caption属性:标题 该属性决定了对象上显示的内容。 (3) Height、Width、Top和Left属性 决定对象的大小和位置。 (4) Enabled 属性:对象是否允许操作 (5) Visible 属性:对象是否可见 (6) Font 属性组:文本的外观 FontName字体、FontSize大小 FontBold粗体、FontItalic斜体 FontStrikethru 删除线 FontUnderline 下划线 (7) ForeColor属性:前景颜色 (8) BackColor属性:背景颜色 (9) MousePointer属性:鼠标指针类型, 设置值范围0~15,由系统指定。若为99,由用户提供的图形文件定义鼠标指针形状。 (10) MouseIcon属性:在MousePointer属性值为99时,存放自定义的鼠标图标文件(.ico 或.cur)。图标库在Graphics目录下。 3.窗体的事件:Load事件是在窗体被装入工作区时触发的事件。当应用程序启动,自动执行该事件,该事件通常用来在启动应用程序时对属性和变量进行初始化。

VB程序设计经典案例

'------------------------------------------------- '【程序设计】 '------------------------------------------------- '题目:(事件)单击窗体。 ' (响应)我国现有人口为13亿,设年增长率为1%,' 计算多少年后增加到20亿。并将结果输出' 在窗体上。将结果存入变量year中。 ' 使用do while ...loop语句完成程序。 '------------------------------------------------- Private Sub Form_Click() Dim year As Integer, sum As Single '***************** Begin ************** Dim p as double Dim r as single P=1300000000 r=0.01 Do while p<2000000000 P=p+p*r n=n+1 Loop Print “n=”,n Year=n '*************** End ************************* '------------------------------------------------- '题目:(事件)单击窗体。 ' (响应)求从100到1000之间所有是3的倍数的数之' 和,当和大于3000时,停止计算并输出和。请将结果输' 出到窗体上,并存入所给变量SUM中。使用for...next语 ' 句完成程序 '------------------------------------------------- Private Sub Form_Click() Dim sum As Integer '***************** Begin ************** sum = 0 Dim i As Integer For i = 100 To 1000 If i Mod 3 = 0 Then sum = sum + i If sum > 3000 Then Exit For End If

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