VBNET程序设计实用教程4.ppt

上传人:hyn****60 文档编号:70744725 上传时间:2023-01-27 格式:PPT 页数:103 大小:1.69MB
返回 下载 相关 举报
VBNET程序设计实用教程4.ppt_第1页
第1页 / 共103页
VBNET程序设计实用教程4.ppt_第2页
第2页 / 共103页
点击查看更多>>
资源描述

《VBNET程序设计实用教程4.ppt》由会员分享,可在线阅读,更多相关《VBNET程序设计实用教程4.ppt(103页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、VB.NETVB.NET清华大学出版社清华大学出版社第4章过程VB.NETVB.NET程序设计实用教程程序设计实用教程程序设计实用教程程序设计实用教程GYC过程过程用函数过程实现的话费计算程序用函数过程实现的话费计算程序 四则运算测验程序四则运算测验程序十进制到其它进制转换程序十进制到其它进制转换程序 汉诺塔问题汉诺塔问题 求复杂函数的值求复杂函数的值 本本章章项项目目学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC过程过程通用过程和函数过程的定义、通用过程和函数过程的定义、建立与调用建立与调用过程的概念与分类过程的概念与分类 参数传递参数传递 变量的作用域与

2、静态变量变量的作用域与静态变量 过程的嵌套调用与递归调用过程的嵌套调用与递归调用 本本章章要要点点学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC第一节过程的概念第一节过程的概念 过程是完成某一特定功能的一段程序,又称子程序。过程是完成某一特定功能的一段程序,又称子程序。使用过程的第一个原因是结构化程序设计的需要。结构使用过程的第一个原因是结构化程序设计的需要。结构化程序设计思想最重要的一点就是把一个复杂问题分成化程序设计思想最重要的一点就是把一个复杂问题分成很多小而独立的问题,即把一个大程序分为若干个小程很多小而独立的问题,即把一个大程序分为若干个小程序序模

3、块,每个模块完成一部分功能。如图模块,每个模块完成一部分功能。如图4-14-1所示。所示。对于每个模块,需详细定义模块的功能及其接口,一个对于每个模块,需详细定义模块的功能及其接口,一个程序员编制其中的一个或多个模块,并把模块编写成过程序员编制其中的一个或多个模块,并把模块编写成过程。程。.过程的概念过程的概念学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.过程的概念过程的概念 摩块编写好后,可以把它们组装成应用程序,如把摩块编写好后,可以把它们组装成应用程序,如把“二级子模块二级子模块1111”和和“二级子模块二级子模块1212”组合在一起就实现了组合在一

4、起就实现了“一级子模块一级子模块1 1”的功能,把的功能,把“二级子模块二级子模块2121”和和“二级子二级子模块模块2222”组合在一起就实现了组合在一起就实现了“一级子模块一级子模块2 2”的功能,把的功能,把“一级子模块一级子模块1 1”和和“一级子模块一级子模块2 2”组合在一起就实现了组合在一起就实现了软件项目的功能。组合子模块可以通过调用相应的过程来软件项目的功能。组合子模块可以通过调用相应的过程来实现。实现。学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.过程的概念过程的概念 软件项目软件项目一级子模块一级子模块1 1一级子模块一级子模块2 2

5、二级子模块二级子模块1111二级子模块二级子模块1212二级子模块二级子模块2121二级子模块二级子模块2222图图4-1 4-1 结构化程序设计模式结构化程序设计模式学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.过程的概念过程的概念 u使用过程的第二个原因是为了解决代码的重复。可以使用过程的第二个原因是为了解决代码的重复。可以把经常用到的完成某种功能的程序段编写成过程,这样做把经常用到的完成某种功能的程序段编写成过程,这样做有很多好处,例如:每当需要完成这一功能时只要调用这有很多好处,例如:每当需要完成这一功能时只要调用这个过程即可,而不需重复编写代码;

6、如果需要修改这一段个过程即可,而不需重复编写代码;如果需要修改这一段代码,只要在该过程里修改即可,而调用该过程的程序不代码,只要在该过程里修改即可,而调用该过程的程序不必修改。必修改。u从本质上说,过程就是完成一定功能的程序段。该程从本质上说,过程就是完成一定功能的程序段。该程序段有一个名字,称为过程名。并且为过程定义了严格的序段有一个名字,称为过程名。并且为过程定义了严格的接口,对用户来说不需要了解过程功能的实现过程与语句,接口,对用户来说不需要了解过程功能的实现过程与语句,只需了解它的功能与接口。若有其它程序要完成该过程的只需了解它的功能与接口。若有其它程序要完成该过程的功能,可通过过程名

7、调用它,过程可多次反复调用,但调功能,可通过过程名调用它,过程可多次反复调用,但调用时必须符合过程的接口要求。用时必须符合过程的接口要求。学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.过程的概念过程的概念根据不同的方法,过程可以分成不同的种类。如从使根据不同的方法,过程可以分成不同的种类。如从使用的角度来看,可以把过程分成用的角度来看,可以把过程分成SubSub过程、函数过程和属性过程、函数过程和属性过程;从定义时有无参数来分,可分为有参过程和无参过过程;从定义时有无参数来分,可分为有参过程和无参过程;根据过程调用时是否有返回值来分,可分为有返回值程;根据

8、过程调用时是否有返回值来分,可分为有返回值的过程和无返回值的过程;根据过程的调用关系可分成主的过程和无返回值的过程;根据过程的调用关系可分成主调过程和被调过程,所谓主调过程是指调用其它过程的过调过程和被调过程,所谓主调过程是指调用其它过程的过程,所谓被调过程是指被其它过程调用的过程。在程,所谓被调过程是指被其它过程调用的过程。在VB.NETVB.NET中通常采用第一种分法,即把过程分为:中通常采用第一种分法,即把过程分为:SubSub过程、函数过过程、函数过程和属性过程,本章只介绍程和属性过程,本章只介绍SubSub过程和函数过程,过程和函数过程,SubSub过程过程又可分成事件过程和通用过程

9、。又可分成事件过程和通用过程。学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC第二节四则运算测验程序第二节四则运算测验程序SubSub过程过程 一、任务一、任务4-14-1描述:描述:编写一个程序用来随机出十道两位数的编写一个程序用来随机出十道两位数的“+”、“-”、“*”、“/”测验题,计算机显示每道题后等待用户输入答案,测验题,计算机显示每道题后等待用户输入答案,并能根据用户输入答案来判断正误并显示答题情况。程序的设并能根据用户输入答案来判断正误并显示答题情况。程序的设计界面如图计界面如图4-24-2所示,程序的运行界面如图所示,程序的运行界面如图4-34

10、-3所示。程序运行所示。程序运行时,计算机将生成一道四则运算题并显示出来(两个运算数分时,计算机将生成一道四则运算题并显示出来(两个运算数分别显示在界面上的第一个和第二个文本框中),并等待用户在别显示在界面上的第一个和第二个文本框中),并等待用户在第三个和第四个文本框(专用于除法,输入余数)中输入答案,第三个和第四个文本框(专用于除法,输入余数)中输入答案,用户输入答案后按用户输入答案后按“确定确定”按钮,将把用户的答题情况显示在按钮,将把用户的答题情况显示在右侧的列表框中,并在题目后加上右侧的列表框中,并在题目后加上“”和和“”以表示用户以表示用户答题是否正确。答题是否正确。.2 2 四则运

11、算测验程序四则运算测验程序Sub过程过程 学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程图图4-2 程序运行界面程序运行界面学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程图图4-3 某时刻程序运行界面某时刻程序运行界面 学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程本题的关键有两点:一是出题,二是判断用户答案本

12、题的关键有两点:一是出题,二是判断用户答案的正误。的正误。(1 1)出题涉及到产生两个运算数和一个运算符号,)出题涉及到产生两个运算数和一个运算符号,这些均可用随机数来产生。可以产生两个两位随机数作这些均可用随机数来产生。可以产生两个两位随机数作为运算数,产生一个为运算数,产生一个1 1到到4 4之间的随机整数作为运算符,之间的随机整数作为运算符,设设1 1为为“+”,2 2为为“-”,3 3为为“*”,4 4为为“/”。把运算。把运算数直接显示在界面上,对于运算符,可通过分支语句进数直接显示在界面上,对于运算符,可通过分支语句进行测试,把相应的行测试,把相应的“+”、“-”、“*”、“”显示

13、出显示出来。来。(2 2)通过)通过Select CaseSelect CaseEnd SelectEnd Select语句测试产生语句测试产生的运算符是何种运算符,对产生的两个运算数作相应运的运算符是何种运算符,对产生的两个运算数作相应运算得到标准答案。从界面上获取用户输入的答案,把标算得到标准答案。从界面上获取用户输入的答案,把标准答案和用户输入的答案相比较,如果相等则用户回答准答案和用户输入的答案相比较,如果相等则用户回答正确,如果不等则用户回答不正确。正确,如果不等则用户回答不正确。二、任务分析:二、任务分析:学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程

14、GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程另外,窗体刚显示出来的时候需要出一组题目的第另外,窗体刚显示出来的时候需要出一组题目的第一道题。每次单击一次确定按钮都要出该组题目的下一一道题。每次单击一次确定按钮都要出该组题目的下一道题。单击道题。单击“重新开始重新开始”按钮,将要出下一组的第一道按钮,将要出下一组的第一道题。可见题。可见“出题出题”这个操作在程序的实现过程中需要多这个操作在程序的实现过程中需要多次使用,因此可把它定义成一个通用过程,在需要时直次使用,因此可把它定义成一个通用过程,在需要时直接调用即可。接调用即可。学员十一队大专区队计算机四组学员十一队大专区队

15、计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程1 1 启启 动动 VB.NETVB.NET,新新 建建 一一 个个 项项 目目,项项 目目 类类 型型 为为“WindowsWindows应应 用用 程程 序序”,项项 目目 的的 存存 放放 位位 置置 为为“D:VBTASKCH04D:VBTASKCH04”,项目名为,项目名为“Task4_1Task4_1”。2 2把把Form1Form1窗窗体体的的TextText属属性性值值设设置置为为“四四则则运运算算测测验验程程序序”,把把它它的的NameName属属性性值值设设置置为为“frmMat

16、hsfrmMaths”。单单击击“解解决决方方案案资资源源管管理理器器”中中的的“Form1.VBForm1.VB”窗窗体体,然然后后在在属属性性窗窗口口中中把把它它文文件件名名属属性性设设置置为为“frmMath.vbfrmMath.vb”。然然后后执执行行【项项目目】【Task4_1Task4_1属属性性】命命令令,在在出出现现的的“Task4_1Task4_1属性页属性页”对话框中把对话框中把“启动对象启动对象”设置为设置为“frmMathfrmMath”。3 3对对照照程程序序设设计计界界面面,为为窗窗体体添添加加控控件件并并设设置置控控件件的的属性。控件的属性设置如表属性。控件的属性

17、设置如表4-14-1所示。所示。三、任务实现三、任务实现:学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程.2.2四则运算测验程序四则运算测验程序SubSub过程过程控件名控件名属性名属性名属性值属性值说明说明GroupBox1GroupBox1TextText 题目题目把与答题相关的组件放在一组中把与答题相关的组件放在一组中TextBox1TextBox1TextText 显示题目中的第一个数显示题目中的第一个数Label1Label1TextText lblOplblOp 显示运算符号显示运算符号TextBox2TextBox2TextText 显示题目中的第二

18、个数显示题目中的第二个数Label3Label3TextText=显示显示“=”号号TextBox3TextBox3TextText 接收用户输入的答案(和、差、积、商)接收用户输入的答案(和、差、积、商)Label4Label4TextText 显示显示“余余”号号TextBox4TextBox4TextText 接收用户输入的答案(除运算的余数)接收用户输入的答案(除运算的余数)Button1Button1TextText 确定确定判断用户答题是否正确并显示答题情况判断用户答题是否正确并显示答题情况GroupBox2GroupBox2TextText 结果结果把与显示答题结果有关的组件放在

19、一组中把与显示答题结果有关的组件放在一组中Label5Label5TextText 答对:答对:提示提示TextBox5TextBox5TextText 显示答对的题目数显示答对的题目数Label6Label6TextText 答错:答错:提示提示TextBox6TextBox6TextText 显示答错的题目数显示答错的题目数Button2Button2TextText 重新开始重新开始重新做下一组题(本例每组重新做下一组题(本例每组10题)题)Button3Button3TextText 结束结束结束应用程序的运行结束应用程序的运行表表4-1 4-1 任务任务4-14-1控件属性设置及其功

20、能控件属性设置及其功能 学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程 说说 明明 ListBox1 ListBox1为列表框控件,列表框控件用来显示一串列表项,供用户进行选为列表框控件,列表框控件用来显示一串列表项,供用户进行选择,在工具箱中的图标为择,在工具箱中的图标为“”。4 4在代码窗口中定义常量和模块级数组,如下。在代码窗口中定义常量和模块级数组,如下。Const N As Integer=10Const N As Integer=10 Dim Num1,Num2 As Integer D

21、im Num1,Num2 As Integer 题目中的两个数题目中的两个数 Dim Op As Integer Dim Op As Integer 存放运算符:存放运算符:1 1为为+,2 2为为-,3 3为为*,4 4为为/Dim Standard As Integer Dim Standard As Integer 存放标准答案:存放标准答案:“+”、“-”、“*”的结的结果和果和“/“的商的商 Dim Dim StandardbStandardb As Integer As Integer 存放标准答案:存放标准答案:“/”运算的余数运算的余数 Dim Answer As Intege

22、r Dim Answer As Integer 存放用户答案:存放用户答案:“+”、“-”、“*”的结果的结果和和”/“的商的商 Dim Dim AnswerbAnswerb As Integer As Integer 存入用户答案存入用户答案 :”/“运算的余数运算的余数 Dim Question As String Dim Question As String 存入题目和答题情况存入题目和答题情况 Dim i As Integer Dim i As Integer 存放当前题目数存放当前题目数 Dim Dim RightNumRightNum,WrongNumWrongNum As Int

23、eger As Integer 存放正确的题数和错误的题数存放正确的题数和错误的题数 学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程 5 5在上述代码的后面,编写以下代码。在上述代码的后面,编写以下代码。Private Sub Private Sub ShowQuestionShowQuestion()()Dim t As Integer Dim t As Integer 交换用的中间变量交换用的中间变量 Num1=10+Num1=10+RndRnd()*90()*90 产生两个两位数产生两个两位数

24、 Num2=10+Num2=10+RndRnd()*90()*90 Op=Int(1+Op=Int(1+RndRnd()*4)()*4)产生运算符产生运算符 TextBox3.Text=:TextBox4.Text=TextBox3.Text=:TextBox4.Text=用户输入答案的编辑框为空用户输入答案的编辑框为空 If(Op=4)Or(Op=2)Then If(Op=4)Or(Op=2)Then 如果是如果是/或或-运算符运算符 If Num1 Num2 Then If Num1 Num2 Then 如果第一个数小如果第一个数小 t=Num1:Num1=Num2:Num2=t t=Nu

25、m1:Num1=Num2:Num2=t 把两个数交换过来把两个数交换过来End IfEnd If End If End If IfIf(Op=4)Then (Op=4)Then 如果是如果是 运算符运算符 Label3.Visible=True Label3.Visible=True 显示余符号显示余符号 TextBox4.Visible=True TextBox4.Visible=True 显示用户输入余数的编辑框显示用户输入余数的编辑框 Else Else 不是除法不是除法 Label3.Visible=False Label3.Visible=False 不显示余符号不显示余符号 Tex

26、tBox4.Visible=False TextBox4.Visible=False 不显示用户输入余数的编辑框不显示用户输入余数的编辑框 End If TextBox1.Text=Str(Num1)End If TextBox1.Text=Str(Num1)显示第一个数显示第一个数 TextBox2.Text=Str(Num2)TextBox2.Text=Str(Num2)显示第二个数显示第二个数 Select Case Op Select Case Op 判断运算符的种数判断运算符的种数 学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验

27、程序四则运算测验程序SubSub过程过程 Case 1 Case 1 加法运算加法运算 Label1.Text=+Label1.Text=+显示运算符显示运算符 Standard=Num1+Num2 Standard=Num1+Num2 得到标准答案得到标准答案 Question=Str(Num1)+Str(Num2)+=Question=Str(Num1)+Str(Num2)+=产生题目字符串并保存在变量中产生题目字符串并保存在变量中 Case 2Case 2 减法运算减法运算 Label1.Text=-Label1.Text=-显示运算符显示运算符 Standard=Num1-Num2 S

28、tandard=Num1-Num2 得到标准答案得到标准答案 Question=Str(Num1)+Question=Str(Num1)+“-”+Str(Num2)+Str(Num2)+“=”产生题目字符串并保存在变量中产生题目字符串并保存在变量中 Case 3 Case 3 乘法运算乘法运算 Label1.Text=*Label1.Text=*显示运算符显示运算符 Standard=Num1*Num2 Standard=Num1*Num2 得到标准答案得到标准答案 Question=Str(Num1)+*+Str(Num2)+=Question=Str(Num1)+*+Str(Num2)+=

29、产生题目字符串并保存在变量中产生题目字符串并保存在变量中 Case 4Case 4 除法运算除法运算 Label1.Text=Label1.Text=显示运算符显示运算符 Standard=Num1 Num2 Standard=Num1 Num2 得到商的标准答案得到商的标准答案 StandardbStandardb=Num1 Mod Num2 =Num1 Mod Num2 得到余数的标准答案得到余数的标准答案 Question=Str(Num1)+Question=Str(Num1)+Str(Num2)+=+Str(Num2)+=产生题目字符串并保存在变量中产生题目字符串并保存在变量中学员十

30、一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程说明:说明:(1 1)上述代码定义了一个名为)上述代码定义了一个名为“ShowQuestionShowQuestion”的通用过程,的通用过程,通用过程是通用过程是SubSub过程的一种,在过程的一种,在VB.NETVB.NET中有两种中有两种SubSub过程,即事件过过程,即事件过程和通用过程。程和通用过程。(2 2)上述通用过程的作用是:产生两个两位随机数作为运算)上述通用过程的作用是:产生两个两位随机数作为运算数并存放在变量数并存放在变量Num1Num1

31、和和Num2Num2中,产生一个中,产生一个1414之间的随机数作为运之间的随机数作为运算符,存放在变量算符,存放在变量OpOp中;如果运算符是中;如果运算符是“”或或“-”且且Num1Num1的值小于的值小于Num2Num2的值,应把的值,应把Num1Num1和和Num2Num2的值交换;如果运算符是的值交换;如果运算符是“”,让输入,让输入余数的文本框可见,供用户输入余数,如果运算符不是余数的文本框可见,供用户输入余数,如果运算符不是“”,则让,则让输入余数的文本框不可见;最后使用输入余数的文本框不可见;最后使用Select CaseSelect CaseEnd SelectEnd Sel

32、ect语语句测试句测试OpOp的值来判断对的值来判断对Num1Num1和和Num2Num2进行哪一种运算,得到标准答案进行哪一种运算,得到标准答案(存放在变量(存放在变量StandardStandard和和StandardbStandardb中)并产生相应的题目字符串中)并产生相应的题目字符串(存放在变量(存放在变量QuestionQuestion中)。中)。(3 3)在)在VB.NETVB.NET中,要使用通用过程,必须先定义。通用过程中,要使用通用过程,必须先定义。通用过程可以在窗体或模块中定义。通用过程的定义格式如下。可以在窗体或模块中定义。通用过程的定义格式如下。学员十一队大专区队计算

33、机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程格式:格式:Private|Friend|Public|Protected|ProtectedPrivate|Friend|Public|Protected|Protected Friend Sub Friend Sub 过程名过程名()执行部分执行部分Exit SubExit Sub执行部分执行部分End SubEnd Sub 功能功能:建立一个由:建立一个由“过程名过程名”标识的通用过程。标识的通用过程。说明说明:在在SubSub和和End SubEnd Sub之间是描述

34、过程操作的一段程序,称为子程序体或过程之间是描述过程操作的一段程序,称为子程序体或过程体。体。以关键字以关键字PrivatePrivate开头的通用过程是模块级的(私有的)过程,只能被本开头的通用过程是模块级的(私有的)过程,只能被本模块内的事件过程或其它过程调用。以关键字模块内的事件过程或其它过程调用。以关键字PublicPublic选项开头的常用过程是公选项开头的常用过程是公有的或全局的过程,在应用程序的任何模块中都可以调用它。以有的或全局的过程,在应用程序的任何模块中都可以调用它。以FriendFriend开头的开头的通用过程只能在本项目或组件的范围外,被其它过程调用。通用过程只能在本项

35、目或组件的范围外,被其它过程调用。ProtectedProtected与类的继与类的继承有关,在面向对象的章节中进行介绍。承有关,在面向对象的章节中进行介绍。学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程过程体由合法的过程体由合法的VB.NETVB.NET语句组成,过程体中可以含有多个语句组成,过程体中可以含有多个“Exit Exit SubSub”语句,程序执行到语句,程序执行到“Exit SubExit Sub”语句时提前退出该过程,返回到语句时提前退出该过程,返回到主调主调过程中调用该过程语句

36、的下一条语句。过程中调用该过程语句的下一条语句。“过程名过程名”是标识符,过程名必须唯一。是标识符,过程名必须唯一。“参数列表参数列表”中的参数称为形式参数(简称形参),它可以是变中的参数称为形式参数(简称形参),它可以是变量量名或数组名。若有多个参数时,各参数之间用逗号分隔。名或数组名。若有多个参数时,各参数之间用逗号分隔。VB.NETVB.NET的过程的过程可以没有参数,但一对圆括号不可以省略。不含参数的过程称为无参过可以没有参数,但一对圆括号不可以省略。不含参数的过程称为无参过程,带有参数的过程称有参过程。每个形参的定义格式有以下几种:程,带有参数的过程称有参过程。每个形参的定义格式有以

37、下几种:格式格式11:Optional Optional ByValByVal 变量名变量名 As As 类型说明符类型说明符 格式格式22:Optional Optional ByRefByRef 变量名变量名 As As 类型说明符类型说明符 格式格式33:ByVal|ByRefByVal|ByRef ParamArrayParamArray 参数数组名参数数组名()As()As 类型说明符类型说明符 学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程 功能功能:定义形参。:定义形参。说明说明:By

38、ValByVal表示其后的形参是按值传递参数或称为表示其后的形参是按值传递参数或称为“传值传值”方式。方式。ByRefByRef表示其后的参数是按引用传递参数,或称表示其后的参数是按引用传递参数,或称“传址传址”方式。如果形方式。如果形式式参数之前有参数之前有OptionalOptional关键字,则表示该参数是一个可选参数。关键字,则表示该参数是一个可选参数。ParamArrayParamArray关键字用来声明参数数组,参数数组可以用来接受任意多个关键字用来声明参数数组,参数数组可以用来接受任意多个实参。格式实参。格式1 1和格式和格式2 2中的变量名也可以是数组名,若是数组名应在其后中的

39、变量名也可以是数组名,若是数组名应在其后加上圆括号加上圆括号“()()”。(4 4)通用过程可以在窗体中建立也可以在模块中建立。)通用过程可以在窗体中建立也可以在模块中建立。在窗体中建立通用过程的一般步骤如下:在窗体中建立通用过程的一般步骤如下:在在“解决方案资源管理器解决方案资源管理器”窗口中,找到需要的窗体并双击它;窗口中,找到需要的窗体并双击它;打开代码窗口;打开代码窗口;滚动代码,找到文字滚动代码,找到文字“Windows Windows 窗体设计器生成的代码窗体设计器生成的代码”所在位置;所在位置;直接在该段文字的下方输入要建立的通用过程。直接在该段文字的下方输入要建立的通用过程。学

40、员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程通用过程还可以定义在模块文件中,模块文件是以通用过程还可以定义在模块文件中,模块文件是以.vbvb为为扩展名的文件。一个模块代码是以扩展名的文件。一个模块代码是以ModuleModule开头,以开头,以End ModuleEnd Module结尾。可结尾。可以将各窗体都公用的过程或函数都放在模块中,这样可使程序更加清晰、以将各窗体都公用的过程或函数都放在模块中,这样可使程序更加清晰、易懂、便于维护。为在模块文件中建立通用过程,首先应为项目添加模易懂、便于维

41、护。为在模块文件中建立通用过程,首先应为项目添加模块。为项目添加模块并在模块中建立通用过程的一般步骤如下:块。为项目添加模块并在模块中建立通用过程的一般步骤如下:执行执行“项目项目”“添加模块添加模块”命令,将会出现如图命令,将会出现如图4-44-4所示的所示的“添加新添加新项项”对话框。对话框。在在“添加新项添加新项”对话框的右边的对话框的右边的“模板模板”框内选中框内选中“模块模块”图标,图标,在下在下面的面的“名称名称”后面的文本框中输入模块文件名(图中为后面的文本框中输入模块文件名(图中为“Module1.vbModule1.vb”),),然后按然后按“打开打开”按钮,则将在代码窗口中

42、显示建立起来的该模块的模板,按钮,则将在代码窗口中显示建立起来的该模块的模板,如图如图4-54-5所示。所示。学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程图图4-4 4-4 “添加新项添加新项”对话框对话框 图图4-5 4-5 创建的模块文件的模板创建的模块文件的模板 学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程在图在图5-65-6的插入点所在处可以输入要建立的通用过程代码。的插入点所在处可以输入要建

43、立的通用过程代码。单击工具栏上的单击工具栏上的“”、“”按钮或执行按钮或执行“文件文件”“保存保存Module1.vbModule1.vb”命令,都命令,都会把模块文件保存起来,同时也保存了建立在其中的通用过程。会把模块文件保存起来,同时也保存了建立在其中的通用过程。6 6在窗体的空白部分双击,将会出现窗体的在窗体的空白部分双击,将会出现窗体的LoadLoad事件过程框架,在其中输事件过程框架,在其中输入事件过程代码,如下。入事件过程代码,如下。Private Sub Private Sub frmMath_Load(ByValfrmMath_Load(ByVal sender As send

44、er As System.ObjectSystem.Object,ByValByVal e e As As System.EventArgsSystem.EventArgs)Handles)Handles MyBase.LoadMyBase.LoadRandomize()Randomize()随机数初始化随机数初始化i=1 i=1 当前题目为第一题当前题目为第一题RightNumRightNum=0 =0 答对的题数目为答对的题数目为0 0道道WrongNumWrongNum=0 =0 答错的题数目为答错的题数目为0 0道道TextBox5.Text=TextBox5.Text=“0 0”:T

45、extBox6.Text=:TextBox6.Text=“0 0”显示答对答错题数的编显示答对答错题数的编辑框为空辑框为空ListBox1.Items.Clear()ListBox1.Items.Clear()清除列表框中的内容清除列表框中的内容ShowQuestionShowQuestion()()显示题目显示题目End SubEnd Sub学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程说明:说明:(1 1)事件过程是一种)事件过程是一种SubSub过程。当某个对象对一个事件的发生做出过程。当某个

46、对象对一个事件的发生做出响应时,响应时,VB.NETVB.NET就会自动地执行与该事件相关的事件过程。上述代码就就会自动地执行与该事件相关的事件过程。上述代码就是窗体是窗体frmMathfrmMath的的LoadLoad事件过程代码,该事件过程在窗体加载时被执行。事件过程代码,该事件过程在窗体加载时被执行。(2 2)发生某对象的某事件时,可能会执行该对象的相应事件过程)发生某对象的某事件时,可能会执行该对象的相应事件过程代码,执行的前提是该对象的相应事件过程已经定义。事件过程的定义代码,执行的前提是该对象的相应事件过程已经定义。事件过程的定义格式如下。格式如下。格式:格式:Private Su

47、b Private Sub 对象名对象名_ _事件名事件名()局部变量和常量说明局部变量和常量说明执行部分执行部分End SubEnd Sub 功能功能:建立一个事件过程。:建立一个事件过程。学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程 说明说明:一个对象的事件过程名前都有一个一个对象的事件过程名前都有一个“PrivatePrivate”关键字,这表示关键字,这表示该该事件过程只能在定义的模块中被调用,在该模块之外不能被调用,即它事件过程只能在定义的模块中被调用,在该模块之外不能被调用,即它的使用

48、范围是模块级的。的使用范围是模块级的。事件过程名是由对象的实际名称(事件过程名是由对象的实际名称(NameName属性值)、下划线和事件属性值)、下划线和事件名组合而成的。其中事件名是名组合而成的。其中事件名是VBVB为某对象能触发的事件所规定的名称,为某对象能触发的事件所规定的名称,不能自己命名,如不能自己命名,如ClickClick、LoadLoad等都是事件名。例如在等都是事件名。例如在Button1Button1控件上单控件上单击,将会调用名字为击,将会调用名字为Button1_ClickButton1_Click的事件过程。的事件过程。“形式参数列表形式参数列表”表示该事件过程所具有

49、的参数个数和参数类型,表示该事件过程所具有的参数个数和参数类型,由由VBVB系统的事件本身所决定,用户不能随意添加。如系统的事件本身所决定,用户不能随意添加。如LoadLoad事件过程就没事件过程就没有参数。有参数。(3 3)在)在VB.NETVB.NET中,建立事件过程有专门的方法,其操作步骤如下:中,建立事件过程有专门的方法,其操作步骤如下:打开代码窗口(或称代码视图、代码编辑器窗口);打开代码窗口(或称代码视图、代码编辑器窗口);学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程双击窗体或控件,即

50、可打开双击窗体或控件,即可打开“代码代码”窗口,在代码窗口的上方有两窗口,在代码窗口的上方有两个个列表框,分别为列表框,分别为“对象对象”列表框和列表框和“事件过程事件过程”列表框列表框 在在“代码代码”窗口的窗口的“对象对象”列表框中选择一个对象,如选择列表框中选择一个对象,如选择Button1Button1,如图,如图4-64-6所示。所示。图图4-6 4-6 在代码窗口的对象列表框中选择对象名在代码窗口的对象列表框中选择对象名在在“事件过程事件过程”列表框中选择一个事件过程后,如选择列表框中选择一个事件过程后,如选择ClickClick,如图,如图4-74-7所示所示。图图4-7 4-7

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁