您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > VB教程第13章教案解析
主页VB应用程序由若干个过程组成。过程保存在模块文件中。有三类模块:即窗体模块、标准模块和类模块。主页本章主要内容第13章过程退出建立多窗体应用程序多重窗体程序的执行与保存VisualBasic工程结构闲置循环与DoEvents语句主页13.1多窗体处理在多窗体程序中,每个窗体可以有自己的界面和程序代码,完成不同的操作。1.添加窗体通过“工程”菜单中的“添加窗体”命令来实现2.删除窗体选择“工程”菜单中的“移除”命令3.保存窗体选择“文件”菜单中的“保存”或“另存为”命令4.设置启动窗体在“工程属性”对话框中设置13.1多窗体与SubMain过程主页⑴Load语句:格式:Load窗体名称把一个窗体装入内存。执行Load语句后,可以引用窗体中的控件及各种属性,但此时窗体没有显示出来。“窗体名称”是窗体的Name属性⑵UnLoad语句:格式:UnLoad窗体名称该语句与Load语句功能相反,它清除内存中指定的窗体。例如:LoadForm1Form1.Show注意:语句和方法的使用格式不同。调用对象的方法:对象名.方法名与多窗体程序设计有关语句和方法(知识点)主页⑶Show方法:格式:[窗体名称.]Show[模式]显示一个窗体。省略“窗体名称”则显示当前窗体。参数“模式”用来确定窗体的状态,有两种取值,即0和1(不是False和True)。Show兼有装入和显示窗体两种功能。也就是说,在执行Show方法时,如果窗体不在内存中,则Show方法把窗体装入内存,然后显示出来。1模态型鼠标只能在窗体内起作用,只有关闭窗口后才能操作其他窗口0非模态型不关闭窗口后就能操作其他窗口⑷Hide方法:格式:[窗体名称.]Hide隐藏窗体。不在屏幕上显示,但仍在内存中,因此它与UnLoad的作用是不一样的。在多窗体程序中。经常要用到关键字Me,它代表的是程序代码所在的窗体。与多窗体程序设计有关语句和方法主页创建3个窗体和1个标准模块(1)主窗体(Form1)本窗体上建立了“输入数据”(Command11)、“计算”(Command12)和“结束”(Command13)三个命令按钮设置为启动窗体例13.1多窗体应用示例——计算两数之和及积例13.1输入两个数主窗体计算定义全局变量启动窗体主页PrivateSubCommand11_Click()'主窗体“输入数据”按钮'单击后进入“输入数据”窗体Form1.Hide'隐藏主窗体Form2.Show'显示“输入数据”窗体EndSubPrivateSubCommand12_Click()'主窗体“计算”按钮'单击后进入“计算”窗体Form1.Hide'隐藏主窗体Form3.Show'显示“计算”窗体EndSubPrivateSubCommand13_Click()'主窗体“结束”按钮UnloadForm1UnloadForm2UnloadForm3EndEndSub先卸载所有已打开的窗体主页(2)“输入数据”窗体(Form2)这是在主窗体上单击了“输入数据”按钮后弹出的窗体,用于输入运算数x和y。窗体上建立了2个文本框(Text21和Text22)和1个“返回”命令按钮(Command21)PrivateSubCommand21_Click()'“输入数据”窗体的“返回”按钮X=Val(Text21.Text)Y=Val(Text22.Text)Form2.Hide'隐藏“输入数据”窗体Form1.Show'显示主窗体EndSubText21Text22主页(3)“计算”窗体(Form3)这是在主窗体上单击了“计算”按钮后弹出的窗体。窗体上建立了1个文本框和2个命令按钮,如图所示。用户可以单击“加法”(Command31)或“乘法”(Command32)命令按钮,使之按要求进行计算。PrivateSubCommand31_Click()'“计算”窗体的“加法”按钮Text31.Text=X+YEndSubPrivateSubCommand32_Click()'“计算”窗体的“乘法”按钮Text31.Text=X*YEndSubPrivateSubCommand33_Click()'“计算”窗体的“返回”按钮Form3.Hide'隐藏“计算”窗体Form1.Show'显示主窗体EndSubText31主页(4)标准模块(Modulel)由于在各窗体之间需要使用公共变量来传送数据,所以建立一个标准模块Modulel,对用到的全局变量X和Y进行声明PublicXAsIntegerPublicYAsInteger运行程序后,首先显示主窗体。在主窗体上,用户可通过“输入数据”和“计算”两个按钮来选择进入不同的窗体,例如单击“输入数据”按钮,则主窗体消失,显示“输入数据”窗体。在“输入数据”窗体或“计算”窗体上,单击“返回”按钮,又可以隐藏当前窗体和重现主窗体主页程序一般从启动窗体的Form_Load过程开始执行;如未指定,就把设计时的第一个窗体作为启动窗体。只有启动窗体才能在运行时自动显示出来,其他窗体必须通过Show方法才能看到有时在程序启动时不加载任何窗体,而是首先执行一段程序代码,此时可把要执行的程序代码放在SubMain过程中,并指定SubMain为“启动对象”。应用程序在运行时会先执行SubMain过程SubMain过程存放在标准模块中。在一个工程中只能有一个SubMain过程设置SubMain过程为“启动对象”的方法:在“工程属性”对话框的“通用”选项卡中,从“启动对象”下拉列表框中选中“SubMain”13.2多重窗体程序的执行与保存(知识点)主页创建2个窗体和1个标准模块放置SubMain过程(1)窗体1(Form1)-显示日期PrivateSubForm_Load()ShowPrint这里是窗体Form1Print当前日期:;DateEndSub例13.2多窗体应用示例例13.2主页(2)窗体2(Form2)-显示时间PrivateSubForm_Load()ShowPrint这里是窗体Form2Print现在时间:;TimeEndSub(3)SubMain过程--设置为启动对象Submain()'先执行此过程t=Hour(Time)Ift=12ThenForm1.ShowElseForm2.ShowEndIfEndSub例13.2多窗体应用示例主页保存多窗体程序比保存单窗体程序复杂些。每个窗体都要以一个文件保存,所有窗体都要以一个工程文件保存。⑴保存多窗体程序①“工程管理器”选择窗体,“文件”菜单中窗体另存为。②“文件”菜单中工程另存为。⑵装入多窗体程序“文件”菜单中“打开工程”命令。⑶多窗体程序编译“文件”菜单中“生成XX.exe”命令。13.2多重窗体程序的执行与保存主页应用程序工程文件(.vbp)窗体模块文件(.frm)Sub过程Function过程事件过程声明部分类模块文件(.cls)标准模块文件(.bas)Sub过程Function过程声明部分SubMain过程13.3VisualBasic工程结构主页⑴标准模块标准模块也称全局模块或总模块,由全局变量声明、模块层声明及通用过程等几部分组成。其中全局变量声明放在标准模块的首部,因为每个模块都可要求有自己的具有唯一名字的全局变量。全局变量声明总是在启动时执行。⑵窗体模块窗体模块包括3部分内容,即声明部分、通用过程部分和事件过程部分。在声明部分,在Dim语句声明窗体模块所需的变量,因而其作用域为整个窗体模块,包括该模块内的每个过程。在窗体模块代码中,声明部分一般放在最前面,而通用过程和事件过程的位置没有严格的要求。13.3VisualBasic工程结构主页⑶SubMain过程在一个含有多个窗体或多个过程的应用程序中,有时需要在多个窗体之前对一些条件进行初始化,这就需要在启动程序执行一个特定的过程。在VisualBasic中,这样的过程称为启动过程,并命名为SubMain。在VisualBasic中一个工程可以包含多个窗体模块、标准模块以及类模块,所有模块共属于一个工程。但每个模块又相对独立,用一个单独文件保存。在多窗体程序中,只能有一个窗体是启动窗体。13.3VisualBasic工程结构主页VB中事件发生时执行相应程序。没有事件发生时,程序处于“闲置”状态。VB执行某个过程时,停止响应其他事件,处于“忙碌”状态。闲置循环:程序处于闲置状态时,用一个循环来执行其他操作。VB执行闲置循环时将占用CPU全部时间。DoEvents语句:执行闲置循环时,该语句可把控制权交给周围环境使用,然后回到原程序继续执行。DoEvents可作为语句、函数使用格式:[窗体号=]DoEvents[()]13.4闲置循环与DoEvents语句主页在Form1窗体上建立3个命令按钮(1)打开标准模块窗口,编程Submain()Form1.ShowDoWhileDoEvents()IfForm1.Command2.Left=Form1.WidthThenForm1.Command2.Left=Form1.Command2.Left+1BeepElseForm1.Command2.Left=Form1.LeftEndIfLoopEndSub例13.3试验闲置循环和DoEvent语句例13.3主页(2)对Form1编写如下程序PrivateSubCommand1_Click()FontSize=12Print执行Command1_click事件过程Fori=1To100000x=i*2NextIEndSubPrivateSubCommand3_Click()EndEndSub(3)把SubMain设置为启动过程例13.3试验闲置循环和DoEvent语句
本文标题:VB教程第13章教案解析
链接地址:https://www.777doc.com/doc-3872108 .html