《VB过程与函数ppt课件.ppt》由会员分享,可在线阅读,更多相关《VB过程与函数ppt课件.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Visual basic与SQL Server 2005 清华大学出版社本章要点本章要点u 过程的有关术语过程的有关术语u 过程的定义与调用过程的定义与调用u 使用过程时的参数传递使用过程时的参数传递u 过程的嵌套与递归调用过程的嵌套与递归调用 u 多窗体与多窗体与Sub Main过程过程u 用户自定义函数的使用用户自定义函数的使用Visual basic与SQL Server 2005 清华大学出版社 在VB中自定义过程分为以下几种:以“sub”保留字开始的为子过程;以“function”保留字开始的为函数过程;以“Property”保留字开始的为属性过程;以“Event”保留字开始的为事件
2、过程。 常用的过程有两种类型,通用过程和事件过程。事件过程与某个具体对象有关,它是能被对象识别的一个预先定义好的动作,前面各章学习和使用的过程都是事件过程,它是VB应用程序的主体。而通用过程与对象无关,它能被不同的事件过程或程序代码调用,能提高编程的效率。VB提供了两种通用过程,Sub过程(子程序)和Function过程(函数)。 过程需要编写相应的代码,称为过程的定义。通用过程可以在代码窗口的通用声明下定义,也可以在标准模块中定义。定义好的通用过程就像完工的集成块,还需要将它组装到产品中去才能发挥作用,在应用程序中使用定义好的过程,称为过程的调用。11.1 过程过程Visual basic与
3、SQL Server 2005 清华大学出版社 在定义过程时,可以在代码窗口的通用声明中,直接输入过程的所有代码;也可以选中代码窗口后,选择“工具”“添加过程”命令,在“添加过程”对话框中输入过程名,选择好类型和范围后确定,来添加过程头,然后再输入过程体。一、一、Sub过程的定义 语法格式为 Static Private Public Sub过程名 (参数表) 语句块 Exit Sub End Sub Sub过程的说明:(1)Sub过程必须以Sub开头,End Sub结束。 Static:表明这个过程中的局部变量是静态的,即过程执行完成后,过程内的变量的值将保留下来。如果没有Static,则局
4、部变量是动态的,即过程执行完成后,过程内的变量的值将清空(0或空串)。 11.1.1 Sub过程 Visual basic与SQL Server 2005 清华大学出版社(2)参数表:传送数据进入Sub的变量或数组,参数之间用逗号分隔。每个参数的格式为: ByVal 变量名 ( ) As 类型 类型就是Integer、Single等,缺省则为变体型。ByVal:表明该参数是“传值”(Passed By Value)参数,缺省时(相当于ByRef)表明该参数是“引用”(Passed By Reference)参数。一般而言:用不加ByVal的“引用”参数即可。 (3)Exit Sub用于在必要时
5、中途退出过程。(4)Sub过程不能嵌套。即Sub过程的过程体内不能包含内部的Sub过程。但调用时可以嵌套。 (5)建立通用Sub过程 通用Sub不属于任何一个事件驱动过程,所以不能把通用Sub放在事件过程内部,应该放在事件过程外面,与事件过程独立开来,即通用Sub与事件过程是同一级别的。11.1.1 Sub过程Visual basic与SQL Server 2005 清华大学出版社11.1.1 Sub过程二、 Sub过程的调用调用Sub过程一般可用以下两种方法。(1) 用Call语句格式:Call 过程名(实参)如果是无参过程,括号可以省略。例如: Call Proc 调用无参过程Proc C
6、all Try(a,b) 调用有参过程Try(x,y)(2) 过程名 实参表。把过程名作为一个独立的语句与Call的区别:去掉Call,去掉实参的括号。例如: Proc 调用无参过程Proc Try a, b 调用有参过程Try(x,y) 注意,在第二种调用方法中,省略了Call,此时不需要小括号,否则会出错。Visual basic与SQL Server 2005 清华大学出版社11.1.1 Sub过程例11.1 求1-2+3-4+.+n的值。 1、界面设计、界面设计 程序的界面由两个标签、两个文本框(一个用于输入、一个用于输出)和两个按钮构成。Visual basic与SQL Server
7、 2005 清华大学出版社11.1.1 Sub过程2、代码分析与设计、代码分析与设计 n的变化规则是偶数为负,奇数为正,可加一个专门的符号位来实现,只要符号位与n的初值保存一致,然后n增加1,符号位就取反即可。程序主要代码如下: Private Sub sum_num(n As Integer, s As Long) Dim i As Integer, t As Integer s = 0 t = 1 For i = 1 To n s = s + i * t t = -t Next iEnd SubPrivate Sub Command1_Click() Dim n As Integer, i
8、 As Integer, s As Long n = Val(Text1.Text) sum_num n, s Text2.Text = sEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Command1_Click End SubVisual basic与SQL Server 2005 清华大学出版社11.1.2 函数(函数(Function过程)过程) 在VB中有两类函数,即标准函数和用户自定义函数。标准函数是指系统已经做出定义的函数,VB的标准函数按函数功能可分为4类,即数学函数 、
9、字符串函数、日期和时间函数和转换函数 。 虽然VB提供了常用的标准函数,可以使用这些标准函数来实现某些数学计算或数据类型的转换,但许多应用程序常常需要自己来定义函数,以实现某种特定的计算。自定义函数是由用户按照指定的语法规则自己定义的函数。Visual basic与SQL Server 2005 清华大学出版社11.1.2 函数(函数(Function过程)过程)一、 函数的定义格式为:Static Private Public Function函数名(参数表) As类型 语句块 Exit Function 函数名=计算结果 End Sub说明:与Sub比较:大部分一样,定义方法也一样。主要的
10、区别是:(1) 函数名后多了As类型,限定函数结果的类型;(2) 多了一句 函数名=计算结果。注意:必须有这一句才能把计算结果传给函数。Visual basic与SQL Server 2005 清华大学出版社11.1.2 函数(函数(Function过程)过程)二、 函数的调用 Function定义好以后,就成了一个与标准函数一样的函数,调用方法也与标准函数一样: 函数名(自变量) 调用函数一般可用以下三种方法。 (1)直接调用。将函数名和相应的实参放在一个表达式中即可。当需要接收过程的返回值时,只能使用这种调用方法。 例如:Y=Sqr(16)(2) Call语句调用。使用Call语句调用Fu
11、nction过程的方法与Sub的调用方法相似,此时,Function过程的返回值将被丢失。一把不用这种方法。(3) 无参数直接调用。Visual basic与SQL Server 2005 清华大学出版社11.1.2 函数(函数(Function过程)过程)【例11.2】 将例11.1改用函数来实现。代码分析与设计本程序的基本思路与例9.1是一样的,代码差别也不大。在Sub过程中,结果通过参数s带回,而Function过程则通过函数本身返回。程序代码如下(相同部分省略): Private Function sum_num(n As Integer) As Long Dim i As Integ
12、er, t As Integer, s As Long s = 0 t = -1 For i = a To ns = s + i * t t = -t Next i sum_num = sEnd FunctionPrivate Sub Command1_Click() Dim n As Integer, s As Long n = Val(Text1.Text) s = sum_num(n) 此时不能使用第二种调用方法 Text2.Text = sEnd SubVisual basic与SQL Server 2005 清华大学出版社11.1.3 过程与函数的区别过程与函数的区别 1过程以sub
13、开头,而函数以function开头。 2. 当过程有多个返回值时,就应当用sub过程;当过程有一个返回值时,可以使用函数。3函数是通过函数名回送一个结果值。在函数的形式参数表后面要说明函数(即结果)的类型。而过程的结果由参数送回。4. 函数体中至少要包括一个给函数赋值的语句。而过程不能给过程名赋值。5. 函数的调用出现在表达式中。而过程的调用必须作为一个单独的语句。6. 形参没有具体的值,只代表了参数的个数、位置、类型;只能是简单变量,不能是常量、数组元素、表达式。Visual basic与SQL Server 2005 清华大学出版社11.2 参数传递参数传递 在调用一个有参数的过程,首先进
14、行的是“形实结合”,即按传值传递或按地址传递方式,实现调用程序和被调用的过程之间的数据传递。通过参数传递,Sub过程或Function过程就能根据不同的变量执行同种任务。为了叙述方便,将形式参数简称为形参,实在参数简称为实参。 在Visual Basic中传递参数有两种方式,即按值传递(Passed by Value)和按地址传递(Passed by refecence)。按值传递参数时,传递的只是实参变量的副本。如果在被调过程中改变了形参值,只影响副本,而不会影响实参变量本身。即当控制返回调用程序时,实参变量保持调用前的值不变。在定义过程时,若形参名前面没有关键字“ByVal”,即形参名前面
15、缺省修饰词,或有“ByRef”关键字时,则指定了它是一个按地址传递的参数。按地址传递参数时,把实参变量(简单变量、数组元素、数组以记录等)的地址传送给被调过程。因此实参变量的地址和与之结合的形参地址是相同的,也就是说形参和实参共用内存的同一“地址”,即共享同一个存储单元。这样在被调过程中的形式参数值一旦被改变,相应的实参值也跟随着被改变了。Visual basic与SQL Server 2005 清华大学出版社11.2.1 形式参数与实际参数形式参数与实际参数 形式参数是指在定义通用过程时,出现在sub或function语句中的变量,是接收传送子过程的变量。形式参数表的各个变量之间用逗号分隔。
16、 实际参数是指在调用sub或function过程时,传送给sub或function过程的常量、变量或表达式。实参表可由常量、表达式、有效的变量名、数组名组成,实参表中各参数用逗号分隔。 简单地说,无论是Sub还是Function,参数是用来传送数据的。定义时的参数叫形式参数(形参),调用时的参数叫实际参数(实参)。Visual basic与SQL Server 2005 清华大学出版社11.2.1 形式参数与实际参数形式参数与实际参数例如:Private Sub Form_Click( )Dim a as intger, b as integer, c as integer A=5: b=3
17、: c=9 ClsPrint a; b; cCall prod( (a), (b), (c) ) 实际参数Print a; b; cEnd SubSub prod (a as intger, b as integer, c as integer ) 形式参数Print a; b; ca=6 : b=8 : c=a*bprint a; b; cEnd SubVisual basic与SQL Server 2005 清华大学出版社11.2.2 参数传递参数传递 参数传递的方式有两种,按值传递和按地址传递,并且只能有实参传递给形参。如果CALL语句中的实际参数是常量或表达式,或者定义过程时选用ByV
18、all关键字,就可以按值传递;如果CALL语句中的实际参数为变量,或者定义过程时选用ByRef关键字,就可以按地址传递。否则缺省按地址传递参数。一、按值传递参数 按值传递参数时,传递的只是变量的副本。如果过程改变了这个值,则所作变量只影响副本而不会影响变量本身。当要求变量按值传送时,可以先把变量变成一个表达式,把变量转换成表达式的最简单的方法就是把它放在括号内。或者定义过程时用ByVal关键字指出参数是按值来传递的。例如:Sub Post (ByVal num as Integer )例如:运行下面给出的程序,理解按值传递参数。Visual basic与SQL Server 2005 清华大学
19、出版社11.2.2 参数传递参数传递例如:运行下面给出的程序,理解按值传递参数。Private Sub Form_Click( )Dim a as intger, b as integer, c as integer a=5: b=3 : c=9 ClsPrint a; b; c Call prod( (a), (b), (c) ) 函数调用Print a; b; cEnd SubSub prod (a as intger, b as integer, c as integer )Print a; b; ca=6 : b=8 : c=a*bprint a; b; cEnd SubVisual
20、basic与SQL Server 2005 清华大学出版社11.2.2 参数传递参数传递二、按地址传递参数按地址传参数,就是让过程根据变量的内存地址去访问实际变量的内容,即形式参数与实际参数使用相同的内存地址单元, 这样通过子过程就可以改变变量本身的值。系统缺省按地址传递参数。在传递调用时,实际参数必须是变量,常量或表达式无法传址。例如:运行下面给出的程序,理解按地址传递参数。Private Sub Form_Click( ) Dim a as intger, b as integer, c as integer A=5: b=3 : c=9ClsPrint a; b; cCall prod(
21、 a, b, c )Print a; b; cEnd SubSub prod (x as intger, y as integer, z as integer ) Print x; y; zx=6 : y=8 : z=x*yprint x; y; zVisual basic与SQL Server 2005 清华大学出版社11.2.2 参数传递参数传递三、按值和按地址混合传送参数例如:Private Sub Form_Click( ) Dim x as intger, y as integer X=8 : y=3Call test(5, x, y+1) 5传值,X传址, Y+1传值Print “
22、主程序”,5, x, yEnd SubSub test (a as intger, b as integer, c as integer ) Print “子程序”, a, b, c A=2: b=4: c=9End SubVisual basic与SQL Server 2005 清华大学出版社11.3过程的嵌套与递归调用过程的嵌套与递归调用 在一个过程中调用另一个过程,称为过程的嵌套调用。如果一个过程直接或间接调用其自身,称为过程的递归调用,它是一种特殊的嵌套调用。 Visual basic与SQL Server 2005 清华大学出版社11.3.1 过程的嵌套调用过程的嵌套调用 Visua
23、l Basic的过程定义是互相平行和独立的,也就是说在定义过程时,一个过程内不能包含另一个过程。虽然不能嵌套定义过程,但Visual Basic中可以嵌套调用过程,也就是主程序可以调用子过程,在子过程中还可以调用另外的子过程,这种程序结构称为过程的嵌套。如图11-2所示。Visual basic与SQL Server 2005 清华大学出版社11.3.1 过程的嵌套调用过程的嵌套调用Visual basic与SQL Server 2005 清华大学出版社11.3.2 过程的递归调用 Visual Basic的过程具有递归调用功能。递归分为两种类型,一种是直接递归,即在过程中调用过程本身;另一种
24、是间接递归,即间接地调用一个过程,例如第一个过程调用了第二个过程,第二个过程又回过头来调用第一个过程。递归调用在完成阶乘运算、级数运算、幂指数运算等方面特别有效。 例11.7 用递归的方法计算n!。 分析:自然数n的阶乘可以递归定义为: 递归的结束条件为:n=0时,n!=1。建立好的用户界面如图11-4所示。 Visual basic与SQL Server 2005 清华大学出版社11.3.2 过程的递归调用Visual basic与SQL Server 2005 清华大学出版社11.3.2 过程的递归调用求阶乘的递归过程Fact的代码为: Private Function Fact(n As
25、 Integer) As Long If n 0 Then Fact = n * Fact(n - 1) Else Fact = 1 End If End Function 按钮的Click事件代码为: Private Sub Command1_Click() Dim n As Integer, m As Long n = Val(Text1.Text) If n 0 Then Exit Sub m = Fact(n) Label1.Caption = m End Sub Visual basic与SQL Server 2005 清华大学出版社11.3.2 过程的递归调用Visual basi
26、c与SQL Server 2005 清华大学出版社11.4过程和变量的作用范围过程和变量的作用范围 VB应用程序(通常称为工程)的组织结构,它由窗体模块、标准模块和类模块组成。VB程序代码就保存在窗体模块文件(*.Frm)、标准模块文件(*.Bas)或类模块文件(*.Cls)中。它们形成了工程的一种模块层次结构。o窗体模块(文件扩展名为 .frm ) ,可以包含处理事件的过程、通用过程以及变量、常数、类型和外部过程的窗体级声明。如果要在文本编辑器中观察窗体模块,则还会看到窗体及其控件的描述,包括它们的属性设置值。写入窗体模块的代码是该窗体所属的具体应用程序专用的;它也可以引用该应用程序内的其它
27、窗体或对象。o标准模块(文件扩展名为.bas),可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明。写入标准模块的代码不必绑在特定的应用程序上,则在许多不同的应用程序中可以重用标准模块。o类模块(文件扩展名为 .CLS),在 Visual Basic 中类模块是面向对象编程的基础。可在类模块中编写代码建立新对象。这些新对象可以包含自定义的属性和方法。实际上,窗体正是这样一种类模块,在其上可安放控件,可显示窗体窗口。 Visual basic与SQL Server 2005 清华大学出版社11.4.1 过程的作用范围过程的作用范围 通用子过程和函数过
28、程既可写在窗体模块中也可写在标准模块中,在定义时可选用关键字Private(局部)和Public(全局),来决定它们能被调用的范围。 按过程的作用范围来划分,过程可分为:模块级过程和全局级过程1、窗体/模块级过程: 加Private关键字的过程,只能被定义的窗体或模块中的过程调用。2、全局级过程: 加Public关键字(或缺省)的过程,可供该应用程序的所有窗体和所有标准模块中的过程调用。Visual basic与SQL Server 2005 清华大学出版社11.4.2 变量的作用范围变量的作用范围一、变量的分类 在VB中,由于可以在过程中和模块中声明变量,根据定义变量的位置和定义变量的语句不
29、同,变量可以分为:局部变量(过程级变量)、窗体/模块级变量(私有的模块级变量,能被本模块的所有过程和函数使用)和全局级变量(公有的模块级变量)。1、局部变量: 在过程内部使用 Dim 或者 Static 关键字来声明的变量,只在声明它们的过程中才能被访问或改变该变量的值,别的过程不可访问。所以可以在不同的过程中声明相同名字的局部变量而互不影响。 例如:Private Sub Form_Load()Dim n as integern= 10End SubPrivate Sub From_Click()Dim n as integerPrint “n=“;nEnd SubVisual basic与
30、SQL Server 2005 清华大学出版社11.4.2 变量的作用范围变量的作用范围2、窗体/模块级变量:在“通用声明”段中用Dim语句或用Private语句声明的变量,可被本窗体/模块的任何过程访问。但其他模块却不能访问该变量。例如:在“通用声明”段声明如下变量Private s As StringDim a As Integer,b As Single 全局变量全局变量也称公有的模块级变量,在窗体模块或标准模块的顶部的“通用”声明段用Public关键字声明,它的作用范围是整个应用程序,即可被本应用程序的任何过程或函数访问。例如:Public a As Integer,b As sing
31、le用下表来表示着三种变量的区别。Visual basic与SQL Server 2005 清华大学出版社11.4.2 变量的作用范围变量的作用范围二、变量的作用范围 从变量的作用空间来说,每个变量均有其作用域;从变量的作用时间来看,每个变量均有自己的生存期。1. 变量的作用域 变量的作用域是指变量的有效范围。按变量的作用域不同,可将变量分为局部变量和全局变量。根据变量的声明位置不同,变量可分为过程级变量和模块级变量。(1) 过程级变量 在一个过程内部定义的变量称为过程级变量,这种变量只能在定义该变量的过程中使用,一般用Dim来定义。(2) 模块级变量 模块级变量可在窗体模块的通用声明中声明,
32、也可在标准模块中声明。一般可用Dim、Private、Public关键字。在标准模块中,还可用Global关键字。 Dim:定义模块级的局部变量。 Private:定义模块级私有变量,它只能在模块内部使用,仍属于局部变量。 Public:定义模块级公有变量,标准模块中的模块级公有变量,可以在整个应用程序中直接使用,属于全局变量;窗体模块的模块级公有变量,必须用“窗体名.公有变量名”的形式才能在别的模块中使用,不能直接使用。 Global:定义全局变量。Visual basic与SQL Server 2005 清华大学出版社11.4.2 变量的作用范围变量的作用范围2. 变量的生存期 变量的生存
33、期是变量占用内存的时间。按变量的生存期不同,可将变量分为动态变量、静态变量。(1) 动态变量 当程序运行到变量所在的过程时,才给动态变量分配内存单元,当过程运行结束后,动态变量所占的内存单元会被立即释放,其值丢失。每次进入变量所在的过程时,动态变量都要重新初始化。(2) 静态变量 静态变量与动态变量完全不同,当变量所在过程运行结束后,变量仍然占用相应的内存单元,其值一直保存,当以后再次运行变量所在过程时,不会重新初始化。过程级局部变量一般用Static关键字,将其声明为静态变量。Visual basic与SQL Server 2005 清华大学出版社11.4.2 变量的作用范围变量的作用范围3
34、.使用过程中的注意事项(1)公用变量与局部变量同名 在不同过程中定义同名变量,它们互不影响,但若在一过程中定义使用了与全局变量同名的变量,则就应注意。 注意:在过程中,如果定义了与模块级变量(在通用部分使用Private或Dim声明的变量),则在该过程内不能引用同名的模块级变量。Visual basic与SQL Server 2005 清华大学出版社11.4.2 变量的作用范围变量的作用范围(2)全局变量同名 如果不同模块中的全局变量使用同一名字,则通过同时引用模块名和变量名就可以在代码中区分它们。 例如,如果有一个在 Form1 和 Module1 中都声明了公用的 Integer 变量 i
35、ntX,则把它们作为 Module1.intX 和Form1.intX 来引用便得到正确值。也就是说如果不同模块中的全局变量使用同一名字,引用时就需要使用“模块名.变量名”的形式来区分它们。 Visual basic与SQL Server 2005 清华大学出版社11.5 多窗体与多窗体与Sub Main过程过程 当应用程序功能较强和分类较多,程序和用户的交互频繁时,如果只用一个窗体和用户进行交互,一方面难以进行合乎美观原则的设计,另一方面分类工作很难,设计出来的界面不符合友好原则。这时最好使用多重窗体程序设计,增强程序界面的友好性。 多窗体指的应用中有多个窗体,它们之间没有绝对的从属关系。每
36、个窗体的界面设计与单窗体的完全一样,只是在设计之前应先建立窗体,这可以通过菜单“工程”/“添加窗体”命令实现。程序代码是针对每个窗体编写的,当然,应注意窗体之间存在的先后顺序和相互调用的关系。所以,多重窗体实际上是单一窗体的集合,而单一窗体是多重窗体程序设计的基础。 Visual basic与SQL Server 2005 清华大学出版社11.5.1 多窗体应用程序多窗体应用程序 u 分析应用要求,将其功能划分为不同的几部分,分别创建各个窗体、模块u 在创建窗体时,除各窗体自身要完成的功能外,还要考虑窗体之间的调用关系u 点击工程/属性菜单,在启动对象中选择应用运行时首先执行的对象u 运行应用
37、程序,检验应用及各窗体的运行情况 Visual basic与SQL Server 2005 清华大学出版社11.5.1 多窗体应用程序多窗体应用程序 1、多窗体程序设计常用的方法在单窗体程序设计中,所有的操作都在一个窗体中完成,不需要在多个窗体中切换。而在多窗体程序中,需要打开、关闭、隐藏或显示指定的窗体,这可以通过相应的语句和方法来实现。 在多窗体程序设计经常用到下面四种方法:Load,Show Hide和Unload。(1)Load方法它的语法结构如下:Load 窗体名称使用Load方法调用的窗体被存入内存,并不显示出来,同时会产生一个Form_Load()事件。例如:Load Form2
38、 将Form2窗体存入内存(2)Show方法它的语法结构如下:窗体名称.ShowShow方法用来显示被调用的窗体。Show方法兼有装入和显示两种功能,也就是说,在执行Show方法时,如果窗体不在内存中,则Show方法会自动的把窗体调入内存,然后再显示出来。例如: Load Form2Form2.Show 将Form2存于内存,并显示Form2窗体Visual basic与SQL Server 2005 清华大学出版社11.5.1 多窗体应用程序多窗体应用程序 (3)Hide方法它的语法结构如下:窗体名称.Hide使用Hide方法会隐藏被调用的窗体,既不在屏幕上显示,但仍在内存中(与Unload
39、方法不同),被调用的窗体中的属性等已经处于无效的状态。例如:Form1.HideForm2.Show 将Form隐藏,并显示Form2窗体(4)Unload方法它的语法结构如下:Unload 窗体名称使用Unload方法会清除内存中指定的窗体,与此窗体中的变量和属性等都会处于无效的状态,在移去窗体的同时会产生一个Form_QueryUnload()事件。例如:Form1.ShowUnload Form2显示Form1窗体,从内存中移去Form2窗体。Visual basic与SQL Server 2005 清华大学出版社11.5.1 多窗体应用程序多窗体应用程序 2、一个多窗体程序设计示例下面
40、就以一个示例来说明如何运进多窗体的程序设计。(1)启动新工程 1)设置属性2)添加控件在空白的窗体上添加如下控件:五个Label控件、四个TextBox控件和两个CommandButton控件。(2)添加窗体 选择菜单“工程(Project)”/“添加窗体(add form)”命令,弹出对话框,在添加窗体的对话框中选择“窗体项,单击打开按钮,系统就会自动的向原有的工程中添加一个窗体。1)添加控件 在新的窗体上放置一CommandButton控件,作用是在隐藏新增的窗体的同时显示原有的窗体。则窗体如下:2)添加代码在继续按钮的Command1_Click()事件中添加下列代码:Private S
41、ub Command1_Click() Form2.Hide 隐藏窗体2 Form1.Show 显示窗体1End Sub 程序说明:在窗体Form2被显示的过程中,单击继续按钮,就会激活Command1_Click()事件,然后通过Form2.Hide 和Form2.Show两条语句实现隐藏窗体和显示窗体的功能。Visual basic与SQL Server 2005 清华大学出版社11.5.1 多窗体应用程序多窗体应用程序(3)添加说明模块选择菜单工程/添加模块,就会弹出对话框:在模块的声明段中添加下列代码:Global a1 as SingleGlobal a2 as SingleGlobal a3 as SingleGlobal a3 as Single 定义四个全局变量,分别用来存储第一季度,第二季度、第三季度和第四季度的销售情况(4)添加程序代码1)窗体Form1中的代码如下:Private Sub Command1_Click()Form1.HideForm2.ShowEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Text1_Change()a1 = Val(Text1.Text)End Sub