1、 VB 教程:序言-不再游戏我们需要什么我们需要什么?当我们在一个精彩的游戏世界中游历了一番之后,或是惊叹于某一工具软件的小巧精致之余,多少总会产生些许编程的冲动。编程吗,在以前如果你对电脑还是一个门外汉,那实在是一件可望而不可及的事情。如果运用基于 DOS 下的编程语言,譬如 C、Qbasic、Pascal 等等,真不知何年何月才能有所成就。 编程是需要天赋的,你必须在大脑中对整个程序有一个清晰的轮廓,一个高效的流程,这并不是每个人都能做到的,你必须思之慎之,这也使编程变成一件最枯燥无味的事情。但在第四代计算机语言(可视化编程)出现后,可以确切的说它开发了人们的更多天赋,并不局限于那些头脑异
2、常清晰的人,每一个人都可以发现自己也可以编出一些从前不敢问津的程序,想象力的充分发挥才是第四代语言的精粹。Visual Basic(以下简称 VB)可以说是可视化语言的先驱了,而且它也是可视化程度最高的一个,从几年前 VB 诞生之日起到现在,它已经经历了五个版本,而且现在微软正在紧张的进行着 VB6.0 的研制、测试,这么高的更新率,不外乎 说明两个问题:用户对 VB 的热衷,微软对 VB 的重视。不可否认微软对市场的预测能力是极为高明的,而它强大的技术、 财力支持也使它在许多以前未进入的领域,在不长的时间内有成为最有力的竞争对手,如 IE 之于浏览器领域, 帝国时代之于游戏都是最好的例证。对
3、于 VB 现在也有一个很强的竞争对手Delphi ,有人把它称作 VB 杀手,这显然有偏激之处,VB 的确有它的不足之处,但 Delphi 又何尝不是呢,而且以微软对 VB 的倾心,VB 的功能必然会越来越强大。 VB 的诞生VB 的出现可以说是 Microsoft Windows 的日渐成熟的必然产物。Microsoft Windows 为程序员和最终用户提供了一个共同的人机界面。对用户,Windows 提供了一个图形鼠标的操作 环境,该环境对所有的应用程序都一样;对于程序员,Windows 提供了一 组预定义工具-称之为 Microsoft Windows 的软件开发工具箱(SDK),该工
4、具能使程序员建立一个与 Windows 界面相同的应用程序,而且,程序 员不必关心最终用户的硬件配置情况。在这一开发环境中,程序员唯一困难的是 Microsoft SDK 提供了六百多个函数和与其一致的事件驱动(event-driven)编程技术。两种新方法的交叉使众多的程序员重新陷入困境,程序员不仅要掌握程序驱动编程技术和六百多个函数的功能,而且还得用 C 语言描述这些问题。因此一般情况下,程序员首先要掌握 C 程序 设计技术,而后再开始学习 SDK。这样的条件下就要求在Microsoft 多任 务环境下出 现一种操作方便,使用简单的新工具Visual Basic 由此诞生。 何为可视英文
5、Visual 的意思是“视觉的” ,“可视的 Baisc”这个名字可能抽象了点,但实际上它却是最直观的编程方法,之所以叫做“ 可视”,你只要看到 VB 的界面就会明白,实际上你无需编程,就可以完成许多步骤。在 VB 中引入了控件的概念,在 Windows 中控件的身影无处不在,各种各样的按钮、文本框、无 线钮,都是控件的种类,VB 把这些控件模式化,并且每个控件都有若干属性用来控制控件的外观,工作方法。这样你就可以象在画板上一样,随意点几下鼠标,一个按钮就完成了,这些在以前的编程语言下是要经过相当复杂的工作的。 我的希望:我在学习 VB 的过程中也曾遇到了许多困难,而且用的参考书大都来自译文,
6、毕竟美国人和中国人的表达方式有所不同。这也造成了理解上的困难,所以我想为什么我不能写一个给中国人看到 VB 教程呢,于是我这么做了。也曾经在杂志上发表过几篇用 VB 制作小程序的文章,但受杂志的限制(篇幅、内容等等)(我得听小编的),总没有一个机会系统的介绍一下 VB,造成了小小的遗憾。不过,我自己的主页建好后,终于这个愿望可以实现了,利用 HTML 可以方便的把文字与图片结合起来,不失为一个教学良所,也希望能够得到大家的支持。 希望“VB 教程”能给你我一个互相学习的机会,如果你能从中获益那将是我最大的快乐,那时你一定会发现编程比游戏有趣得多。:) VB 教程:第一章-Hello World
7、!文章来源:vb 大世界没学过编程的人常常会问,编程难不难,这个问题很难回答。难,的确很难,要编一个好的程序尤其是这样,并且有些程序还要用到一些其他专业的知识,比如说一个图形处理程序,就要对图像的格式有所了解,甚至一些美术知识;但编程也很容易,就拿 VB 来说,编一个自娱自乐的小工具还是一件相当惬意的事情呢,当然它没法完全代替人工,譬如说完成你的家庭作业、向学校发射导弹作为第四代计算机语言,VB 的特点是显而易见的。因为是“ 可视的”所以我们 不妨先看看 VB 的界面(图 1_1)(我用的是 VB4.0 32 位版),很容易可以看到,屏幕上有五个窗口,(1)是菜单栏;(2)是工具箱(Tools
8、 Box),里面是 VB 所需的控件;(3 )是 VB 程序要设计的窗体(Form );(4)控件及窗体的属性(Properties),在 VB 中每一个控件都有其自己的属性,比如文本框有 Text 属性,而任何一个控件都有一个自己唯一的名字,这使得我们无需编程就可以完成部分编程的工作;(5)是 VB 的文件控制窗口,VB 的每一个程序称为一个项目(Project),一个项目文件里往往包括以下两种文件,窗体(Form)文件和模块(Bas)文件,当然还有 Class 文件, 这些文件组成一个完整的程序,而项目文件(Vbp)则用来描述程序所包含的内容。实际上,我一直 认为学习的最好方法就是实际操作
9、一下,好,下面我们就来看一个最简单的程序,和所有的编程教科书一样,我们把第一个程序称为“Hello,world!”。首先,我们先来熟悉一下窗体。如果你用过 Win95 附件所带的画图板的话,那么你一定会很快熟悉 VB 的窗体设计方法,用鼠标单击一下工具箱中的任何一个控件,然后在窗体上任意拖动鼠标,你就会得到一个所需的控件;当然还有其他的方法得到控件,你可以在工具箱上双击得到一个控件;或是按住 Ctrl 键,再 单击所需控件,重复第一次的步骤,你会发现,不用再回去点击工具箱了,点右键可以恢复鼠标指针,这样对于重复画同一个控件尤其有用。对于我们的第一个小程序,知道这些就已经足够了。现在你可以在我们
10、的窗体上画如下控件一个图片框(Picture Box) ,用来显示图画,每一个控件建立的时候,系统都会给它设一个默认的名字(Name),这个 PictureBox 的名字就叫做 Picture1,为了方便起见,我们以后的控件都使用缺省的名称。选定 Picture1,在左边的属性窗口中找到Picture 属性, 单击会出现 ,点击 为 Picture1 选一个图像文件,VB支持的图像文件有 BitMap、WMF、ICO 三种,微软为用户提供了一套图标文件,存放在 VB 目录的 Icons 目录下,选择 Iconsmiscface01.ico 文件,这样图标就被装入了 Picture1。再选择 P
11、ictrue1 的 Autosize 属性,设为 1-True,则会 发现 Picture1 以变成和图像一样大了;把 BorderStyle 定为 0-None,去掉图片边框。用同样的方法再添加两个图片框:Picture2(Picture:face02.ico),Picture3(Picture:face03.ico)。图片框完成了,第二步,建立三个无线钮(Option Button) ,由于它象收音机的无线电按钮而得名),把它们的标签名属性(Caption)分别定为“悲哀 ”,“高兴”,“没治了”,放置成 图 1_2 的样子。最后我们还需要三个文本框(Text Box) ,分别把它们的 T
12、ext属性设为”(空字符串),程序的最后界面如图 1_3,这样按下菜单窗口的运行按钮,运行一下程序,还可以吧,不过现在程序还无法工作,就算是 VB 也不能免俗,还必须输入代码才能使程序运作。VB 是一门典型的面向对象编程的语言,它的整个程序都是由事件驱动的。那么,什么是事件呢?其实,我 们的生活中充满了各式各样的事件,比如说“ 闯红灯”这个事件的发生会导致被警察追杀、走路撞到电线杆时会痛。上面的例子虽然有些滑稽,但它可以清楚的解释事件的含义,就象你马上就能体会到的在什么地方单击鼠标时会发生什么,按下键盘时会发生什么,这就是事件,而事件就是这么容易。要进入 VB 的代码设计区,只需在需要的控件或
13、窗体上双击鼠标即可得到这样的窗口。如图 1_4,每一个 VB 程序都由若干小程序组成,这使得用 VB 编程更加容易, 这些小程序,分为“ 过程”(Procedure)和“函数”(Function),二者都可以传递参数,所不同的是函数有一个返回值,而过程没有,仅此而已。双击窗体的任何一个部分,将出现一个空的过程:“Form_Load()”,这是一个非常重要的过程,它所驱动的事件就是该窗体被加载的事件,打个比方,就象计算机启动时的批处理程序(Autoexec.bat)。 这个程序里我们要对控件进行一些设置。我们刚才也曾对控件进行设置,但那是在程序设置中进行的,有时我们也需要在程序中改变某些控件的属
14、性,通过程序代码。VB 中规定,一个控件属性的访问方法:名称.属性,于是我们对本程序的控件进行如下设置:Private Sub Form_Load()Picture1.Visible = FalsePicture2.Visible = FalsePicture3.Visible = FalseText1.Visible = FalseText2.Visible = FalseText3.Visible = FalseEnd SubPrivate 表示此过程是局部的,Sub 表示子过程的开始,与之相对的是 End Sub 表示过程的结束,Visible 属性表示控件的可见性,这个属性的值有两个
15、True 和 False。注意: VB 里 对大小写是不加区分的,而且,已定 义的名称,以后再用到时,系统会自动把它变成相应的大写或小写。小知识: 1.VB 里的对变量及常量的规矩。变量一般为 Abc 的格式,常量为 ABC,另外这些变量和常量名不得同 VB 内的关键字相同,也不可以使用一些特殊符号,这些我们将在以后介绍,注意在学习中养成好习惯,使程序便于自己和别人的浏览。2.程序书写的窍门:不要真的一句一句把程序打完,利用快捷键:拷贝 Ctrl+C,剪切 Ctrl+T,粘贴 Ctrl+P。按下 F5,运行一下程序,现在发现只剩下无线钮了。如图 1_5。Private Sub Form_Loa
16、d()Picture1.Visible = FalsePicture2.Visible = FalsePicture3.Visible = FalseText1.Visible = FalseText2.Visible = FalseText3.Visible = FalseOption4.Left = -2000Option4.Value = TrueEnd SubLeft 属性表示控件离窗体左边框的距离,设置为2000,则在窗体内不会看到这个控件,并使之 Value=True。再运行程序,一切如愿,如图 1_6.注意:为什么不用 Option4.Visible=False? 因为,一旦设置
17、无线钮为不可见,那么再使它的 Value 为真是没有意义的,不信自己试试。下面我们可以继续进行了。在刚才的代码窗口里,将 Object 选择为 Option1,Proc 选择为 Click,即得到一个 Option1_Click 的过程。代码如下:Private Sub Option1_Click()Picture1.Visible = TruePicture2.Visible = FalsePicture3.Visible = FalseText1.Visible = TrueText2.Visible = FalseText3.Visible = FalseText1.Text = “再见
18、,残酷的世界。 “End Sub相同的建立 Option2_Click 和 Option2_Click:Private Sub Option2_Click()Picture2.Visible = TruePicture1.Visible = FalsePicture3.Visible = FalseText2.Visible = TrueText1.Visible = FalseText3.Visible = FalseText2.Text = “今天心情不错。“End SubPrivate Sub Option3_Click()Picture3.Visible = TruePicture2.
19、Visible = FalsePicture1.Visible = FalseText3.Visible = TrueText2.Visible = FalseText1.Visible = FalseText3.Text = “Hello,World。“End Sub好,我们的开山之作完成了!按下 F5,玩一下吧。这个程序虽然简单,但也用到了许多基本知识,你开始感兴趣了吗?_VB 教程:第二章 -事件、属性及数据类型文章来源:vb 大世界以后两章可能会比较枯燥,但不可否认也很重要,所以为了学好 VB,我们一定要打好基础才行。一、事件通过上一章的例子,你可能对“面向对象的 编程” 已经有了一定
20、了解,它是由事件驱动的,对于不同的对象,所能感应到的事件也会不同,譬如说当你把鼠标移进某一区域时就会触发 MouseMove 事件,这很直观,也容易理解,但也有些事件比较抽象,下面我来对一般的事件 进行一下解释。1. 窗体和图象框类事件 Paint 事件:当某一对象在屏幕中被移 动,改 变尺寸或清除后,程序会自动调用 Paint 事件。 注意:当对象的 AutoDraw 属性为 True(1)时,程序不会调用 Paint 事件。 Resize 事件:当对象的大小改变时触发 Resize 事件。 Load 事件:仅适用于窗体 对象,当窗体被装载时运行。 Unload 事件: 仅适用于窗体 对象,
21、当窗体被卸载时运行。 2.当前光标(Focus)事件GotFocus 事件:当光标聚焦于该对象时发生事件。 LostFocus 事件:当光标离开该对象时发生事件。 注意:Focus 英文为“ 焦点”、“ 聚焦”之意,最直观的例子是,比如有两个窗体,互相有一部分遮盖,当你点下面的窗体时,它就会全部显示出来,这时它处在被激活的状态,并且标题条变成蓝色,这就是 GotFocus 事件,而相反,另外一个窗体被遮盖,并且 标题条变灰,称 为 LostFocus 事件。上面所说的“ 光标”并非指鼠标指针。3.鼠标操作事件Click 事件:鼠标单击对象。 DbClick 事件:鼠标双击 事件。 MouseD
22、own、MouseUp 属性:按下/放开鼠标键事件。 MouseMove 事件:鼠标移动事件。 DragDrop 事件:拖放事件,相当于 MouseDown、MouseMove 和 MouseUp 的组合。 DragOver 事件:鼠标在拖放 过程中就会产生 DragOver 事件。 4.键盘操作属性KeyDown、KeyUp 事件:按 键的按下/ 放开事件。 KeyPress 事件:按 键事件。 5.改变控制项事件Change 事件:当对象的内容 发生改变时,触 发 Change 事件。最典型的例子是文本框(TextBox)。 DropDown 事件:下弹事件,仅用于组合框( ComboBo
23、x)对象。 PathChange 事件:路径改变事件,仅用于文件列表框(FileBox)对象。 6.其他事件Timer 事件:仅用于计时器,每隔一段时间被触发一次。 二、属性每个对象都有它的属性,并且“Name”属性是共有的,有了 “Name”属性才可以在程序中 进行调用。对于属性,可以在窗体的布局操作中完成,也可以在程序运行中改变,这取决你的需要,但有些属性是只读的,它只能在控件布局时改变。我将在以后的实例中具体介绍各个属性的作用。三、数据类型学过编程的人都知道大多数的计算机语言都规定了各自的数据类型,VB 也不例外。其实,在一个最简单的程序中数据类型是可以不作规定的,也就是说,变量可以使用
24、各种类型,但是在一个复杂的程序里,这样做就很危险,因为很可能给同一个变量赋予了不同的类型,而导致程序出错。所以,为了程序的严谨和便于查看,正确的定义数据类型是必要的。定义数据的另一个原因是,不同的数据占用不同的内存数量,譬如整型(Interger)数据占 2 字节,而长整型数据占 4个字节,定义合适的数据类型,不管你相信不相信,它可以节省内存!1. VB 常用的数据类型有:整型(Integer,表示-32768 至 32767 之间的整数)、长整型(Long,表示-2,147,483,648 至 2,147,483,647 之间的整数)、 实型(Single,表示-3.37E+38 至 3.3
25、7E+38 之间的 实数)、双精度实型(Double,表示-1.67E+308 至 1.67E+308 之间的实数),字符(String,每个字符占一字节,可以 储存 0 65,535 个字符),布尔(Boolean,只有两个值True/-1,或 False/0)。 2. 数据类型的定义方法: 定义变量最简单的方法是用“Dim”关键字,它的语法: Dim 【变量名】As 【数据类型】如:Dim Index As Integer也可以在一行中定义多个变量,如:Dim Index As Integer , Dim Number As Long把多个变量定义成同一类型可以写成:Dim Index ,
26、 Number As Integer 有时为了简便,也以符号进行简单的定义,作用是和上面一样的。整型可以用“%”代替,长整型可以用“&”代替,实型可以用“!”,双精度 实型可以用“#” 定义,如 刚才的第一个例子可以写成:Dim Index% 等价于 Dim Index As Integer对于常量的定义用 Const 定义,如: Const COLOR=255。 为了在程序中便于查阅,我们对变量和常量的写法进行规定,变量一般用小写方式,常量则全部大写。注意:使用常量的好处,对于程序中经常出现的数值,应设常量等于它,这样一是书写方便,其二,如果要改变该数值,只需改变定义常量的语句值,而不需改变
27、每个语句,提高了效率。数组的定义类似于变量定义,所不同的是数组需要指定数组中的元素个数,例如: Dim IntegerArray(99) As Integer这个数组中包含 100 个元素,脚标从 0 到 99。也可以指定脚标的起始值,例如:Dim IntegerArray(2 to 10) As Integer这个数组含有九个元素,脚标从 2 到 10。还可以定义多维数组:Dim ThreeD(4,2 to 5,3 to 6) As Integer上例定义了一个三维数组(444)。记录的定义 记录定义是把控制权交给用户的方法,它让用户可以定义自己的数据类型,它使用关键字“Type”,方法是:
28、Type 【数据类型标识符 】As As As End Type例如,定义一个地址数据:Type AddressStreet As StringZipCode As StringPhone As StringEnd Type这个地址数据里包括三个属性,街区、邮政编码和电话,可以把某数据定义成此类型:Dim MyHome As Address要调用或改变“MyHome”的值时,类似于对对象的属性的操作:变量名.域名“”为了简化书写重复的部分,可以用关键字“With”:With MyHome.Street=”阜成路”.ZipCode=”100037”.Phone=”12345678”End Wit
29、hVB 教程:第三章-VB 语言文章来源:vb 大世界一、VB 与 BasicVB 之所以叫做“Visual Basic”就是因为它使用了 Basic 语言作为代码,所以它们之间有着千丝万缕的关系,如果学过 Basic 的话,看到 VB 的程序结构会感到很亲切。但 VB 作为新生物,也超越了 Basic 的限制,有了许多自己的特点: VB 建立了一种新的变量类型货币型变量,通过使用仅带有二位小数的货币变量,就能避免因使用实型变量而带来的数值积累误差问题。 VB 在 调用函数(Function )时,必须在函数名后跟一对括号。 VB 对 白兰地使用范围重新做了规范,在 Basic 里把隐含变量都
30、当作全局变量,而在 VB 里对隐含变量都当作局部变量。 VB 里的 说明语句(Declare),仅支持动态链结库(DLL)的子程序和无变量函数。 使用数组,必须事先用 Dim 或 Redim 进行定义。 二、注释语句 在使用注释语句之前必须先了解注释的作用,注释不仅仅是对程序的解释,有时它对于程序的调试也非常有用,譬如说可以利用注释屏蔽一条语句以观察变化,发现问题和错误。以后注释语句将是我们在编程里最经常用到的语句之一。在 VB 里,注释语句有两种,一种是用 “Rem”关键字,这跟 DOS 里的批处理文件的用法一 样,还有一种是利用单引号“”,例如:Dim a As String 与Rem D
31、im a As String 的作用是一致的。三、长语句的分行 在比较早的版本中,因为没有象 C 等语言用“;”隔开语句与语句,VB 的语句是必须写在一行里的,不过后来版本的 VB 里如许用分行符“_”把一个长语句分成若干行来存放。四、条件语句如果你学过任何一种编程的话,都会知道在程序里控制其流程的有两种语句,条件与循环,VB自然也不例外,其实不管哪种语言,条件和循环的样子都差不多,只不过各有各的规矩罢了。在条件语句里,我们先来学习“IfThen”语句。它的一般语法是:If Then End If与 C 语言不同,VB 的条件 语句更符合英语的语法,如果 Then 后面所跟的语句只有一条,可以
32、写成:If Then 而不用 End If。有时我们还会用到If ThenElse End If更可以在 Else 里在嵌套 If 语句,如:If ThenElse If ElseEnd If所有这些可以用一个表格表示:条件 1True False条件 2True False条件 3True False条件 NTrue False语句1 语句2 语句 N 语句 N1用了过多的 Else 后你会感到很不方便,而且程序结构也不清晰,所以大多数的语言还有 Select语句帮助解决这个问题。VB 里的 Select 语句的格式是这样的:Select Case Case Case Case Case E
33、lseEnd Select例如:Select Case a%Case 1Print “a=1”Case 2Print “a=2”Case ElsePrint “a does not equal to 1 or 2.”End Select五、循环语句循环结构是计算机语言里一种重要的结构,它的应用广泛,最简单的例子是累加器的作用,还可以用于穷举法,更直观的例子是把某件事重复指定的次数,这样就不用把要重复的语句输入多次,而通过循环结构完成,非常方便。C 语 言里有一个“for”循环语句,VB 里也有“For”关键字,作用也差不多,只是 VB 的“For” 语句更容易理解。它的格式是:For = To
34、 Step Next 在默认情况下,Step 被设为“1” ,可以省略,Step 也可以设为负值,例如:Dim a=0For I=1 To 10 a=a+INext I这是一个最简单的累加器的例子,把 1 到 10 累加在一起,然后赋值给“a”这样的效果和上面是一样的,只不过是倒着加罢了,请看:Dim a=0For I=10 To 1 Step 1a=a+INext IWhile 语句也是一个很常用的循 环语句,它的形式很多。Do While Loop 语句 While Wend 语句 Do Loop While While 后面都跟逻辑条件判断,“Do While Loop 语句”和“Whi
35、le Wend 语句”作用相似,都是先判断 While 后面的条件是否为“真” ,如果为“真” 则执行里面的语句,如果 为“ 假”,则退出循环,循环直至条件为“假”终止。“Do Loop While ”与前两者的区别在于,它不管条件的真假,都会先执行“Do” 后面的语句,也就是 说,它至少执行语句一次。与 While 用法相似的还有 Until 语句,它是直至条件为真则终止循环,句式把 While 上述三个语句的 While 换成 Until 即可,但是因 为容易 记混,所以我建议只用 While 即可。 Until 可以相当于 While Not 。For 循 环和 Whlie 循环应当根据
36、适当的环境使用,它们有时也可替换。六、运算操作 数学运算 :加法运算,也适合于字符串的之间的合并运算。 :加法运算。 *:乘法运算。 /:除法运算。 :整除运算。 Mod:求余运算。例如:a Mod b 表示 a 被 b 整除以后的余数。 :幂运算。AB 表示以 A 为底的 B 次方。 关系运算 关系运算也称比较运算,它表示不等式的真或假,VB 共提供六种运算符,分别是=(等于),(大于),=(大于等于),(不等于)。 逻辑运算 逻辑运算是对真或假的运算,我将列表说明:A B Not A 非And 与 Or 或 Xor异或Eqv相等Imp蕴含T T F T T F T TT F F F T T
37、 F FF T T F T T F TF F T F F F T TTTrue FFalse七、 数据与定义本标题的内容已经在上一章向大家详述过,在这里就不再重复。八、函数与过程 函数与过程有许多相似的地方,它们之间最大也是最本质的区别就在于,函数有一个返回值,而过程只是执行一系列动作,所以可以简单的把函数理解成为一个变量,而 VB 中的每个事件都是一个过程,比如 Command1_Click()就是一个 过程。因为在程序设计中经常会有重复的地方,所以把它做成一个函数或一个过程,在使用时进行调用,可以节省大量的输入代码的时间,而且使用函数和过程也便于程序的结构化和修改查看。函数和过程都可以有参
38、数,也可以没有参数。关于函数和过程我将在以后的章中配合实例讲解,请您继续留意 VB 教程。VB 教程:第四章-按 钮文章来源:vb 大世界从本章开始我们将正式进入 VB 的编程世界,但这还仅仅是个开端,要编出功能强大的软件,还要学很多东西,那就要看以后的 VB 高级教程了,我也得努力学啊!按钮是我们在 Windows 操作见到最多的控件,它们有着各种各样的功能:“确 认” 、“取消”、“下一步”等等,这些都是按钮的表现,另外还有很多图形话的按钮,其实它们并没什么不同,所有的按钮都是通过单击(click)事件实现的,只不过是在外表不同罢了。下面就让我们建立一个最简单的按钮,双击工具箱的 Comm
39、andButton,将在窗体上建立一个形如图 41 的按钮,它的缺省名(Name 属性)为Command1,我 们可以把它改名 为 cmdExit,把 Caption 属性设为“退出”,然后双击,按钮填写代码:Private Sub cmdExit_Click()Unload MeEnd Sub按下 F5 或者工具条上的播放按 钮,运行程序。图 42 当你按下退出按钮的时候,就会自动退出程序,原因是当你单击按钮时激活了它的 Click 事件, 执行 “Unload Me”语句,使得窗体被卸载。上面举了一个比较简单的例子,下面的例子稍微复杂些:新建窗体,控件布局如图 43 所示,包括一个 List 控件,一个 Text 控件和两个按钮(Command1 和 Command2),(比较简单的程序我们都采用缺省名),对它们属性做如下修改:List1 Caption“请输入你的名字”Text1 Text“”(空字符串)Button1 Caption“复原”EnabledFalseButton2 Caption=“清除”把使用 Button1 的 Enabled 属性设为 False(假),是使程序在初始时,无法单击 Command1。按 F5,运行程序,图 44,复原按钮成为灰色,不可选。