多重窗体与环境应用精选PPT.ppt

上传人:石*** 文档编号:69935234 上传时间:2023-01-11 格式:PPT 页数:27 大小:1.49MB
返回 下载 相关 举报
多重窗体与环境应用精选PPT.ppt_第1页
第1页 / 共27页
多重窗体与环境应用精选PPT.ppt_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《多重窗体与环境应用精选PPT.ppt》由会员分享,可在线阅读,更多相关《多重窗体与环境应用精选PPT.ppt(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、多重窗体与环境应用第1页,此课件共27页哦第第1010章章 多重窗体与环境应用多重窗体与环境应用v10.1 多重窗体与多文档窗体多重窗体与多文档窗体 Visual Basic允允许许在在一一个个工工程程(程程序序)中中使使用用多多个个窗窗体体。多多窗窗体体程程序序一一般般有有两两种种形形式式,单单文文档档界界面面(SDI)和和多多文文档档界界面面(MDI)。前前者者又又称称为为多多重重窗窗体体界界面面,每每个个窗窗体体都都是是独独立立的的、平平等等的的;后后者者所所包包含含的的多多个个窗窗体体则则被被放放置置在在一一个个(父父)窗窗体体中中,父父窗窗体体为为应应用用程程序序中中所所有有的的(子

2、子)窗窗体体提提供工作空间。供工作空间。第2页,此课件共27页哦10.1.1 10.1.1 建立多重窗体应用程序建立多重窗体应用程序 多多重重窗窗体体应应用用程程序序的的代代码码是是针针对对各各个个窗窗体体编编写写的的,因因此此其其设设计计基基础础是是单单个个窗窗体体的的设设计计。而而在在多多重重窗窗体体应应用用程程序序中中添加和删除窗体的操作需要使用添加和删除窗体的操作需要使用“工程工程”菜单。菜单。1.在工程中添加窗体在工程中添加窗体 在当前工程中添加一个新的窗体有在当前工程中添加一个新的窗体有3种方法:种方法:在在“工程工程”菜单中选择菜单中选择“添加窗体添加窗体”菜单项。菜单项。在在工

3、工具具栏栏中中选选择择“添添加加”,单单击击其其下下拉拉箭箭头头,从从弹弹出出的的列表中选择列表中选择“添加窗体添加窗体”。在在工工程程资资源源管管理理器器中中的的工工程程图图标标上上单单击击鼠鼠标标右右键键,打打开开快快捷菜单,选择捷菜单,选择“添加添加”子菜单下的子菜单下的“添加窗体添加窗体”选项。选项。第3页,此课件共27页哦图图10-1 “添加窗体添加窗体”对话框对话框 添添加加的的新新窗窗体体(设设为为第第二二个个)被被命命名名为为Form2,后后续续的的窗窗体体则则分分别别命命名名为为Form3、Form4等等等等。可可以以在在属属性性窗窗口口修改新窗体的名称。修改新窗体的名称。2

4、.在工程中删除窗体在工程中删除窗体 从工程中删除窗体的方法有两种:从工程中删除窗体的方法有两种:先先选选定定欲欲删删除除的的窗窗体体,然然后后在在“工工程程”菜菜单单中中选选择择“移移除除窗体名窗体名”。在在工工程程资资源源管管理理器器中中欲欲删删除除的的窗窗体体名名上上单单击击鼠鼠标标右右键键,打打开快捷菜单,选择开快捷菜单,选择“移除窗体名移除窗体名”。第4页,此课件共27页哦3.保存窗体保存窗体 每每建建立立一一个个新新的的窗窗体体,都都应应将将窗窗体体存存盘盘,一一个个窗窗体体保保存存在在一一个个扩扩展展名名为为.frm的的窗窗体体文文件件中中。保保存存窗窗体体可可以以在在“文文件件”

5、菜菜单单中中选选择择“保保存存窗窗体体名名”或或“窗窗体体名名另另存存为为”选项。选项。对对于于新新建建立立的的工工程程,在在“文文件件”菜菜单单中中选选择择“保保存存工工程程”或或“工工程程另另存存为为”选选项项,系系统统将将自自动动弹弹出出对对话话框框,提提示示用用户户保保存存工工程程的的各各个个文文件件,如如标标准准模模块块文文件件(.bas)、窗窗体文件(体文件(.frm)、工程文件()、工程文件(.vbp)。)。第5页,此课件共27页哦4.使用工程资源管理器使用工程资源管理器 多多重重窗窗体体实实际际上上是是单单一一窗窗体体的的集集合合,每每个个窗窗体体都都需需要要独独立立进进行行创

6、创建建和和修修改改。在在设设计计时时,利利用用工工程程资资源源管管理理器器可可以以在各个窗体间进行切换(如图在各个窗体间进行切换(如图10-2所示)。所示)。图图10-2 “工程资源管理器工程资源管理器”第6页,此课件共27页哦10.1.2 10.1.2 多重窗体程序的执行多重窗体程序的执行 在在单单窗窗体体工工程程中中,所所有有的的操操作作都都在在一一个个窗窗体体中中完完成成,不不需需要要在在多多个个窗窗体体间间切切换换。而而在在多多窗窗体体工工程程中中,则则需需要要打打开开、关关闭闭、显显示示或或隐隐藏藏指指定定的的窗窗体体,下下面面介介绍绍相相应应的的语语句句和和方方法。法。1.加载与卸

7、载窗体加载与卸载窗体 加加载载窗窗体体是是指指将将窗窗体体文文件件装装入入内内存存,而而卸卸载载窗窗体体是是指指将将窗窗体体从从内内存存中中删删除除。VB有有两两条条语语句句专专门门用用于于对对窗窗体体进进行行加加载与卸载的操作:载与卸载的操作:Load语句和语句和Unload语句。语句。第7页,此课件共27页哦 1)Load语句是加载窗体的命令,其语法格式为:语句是加载窗体的命令,其语法格式为:Load窗体名窗体名 其其中中窗窗体体名名即即窗窗体体的的Name属属性性。执执行行Load语语句句后后,可可以以引引用用窗窗体体中中的的各各对对象象,如如控控件件及及其其各各种种属属性性,但但此此时

8、时窗体并没有显示出来。窗体并没有显示出来。2)Unload语句是卸载窗体的命令,其语法格式为:语句是卸载窗体的命令,其语法格式为:Unload窗体名窗体名 该该语语句句与与Load语语句句的的功功能能相相反反,它它清清除除内内存存中中指指定定的的窗窗体。体。第8页,此课件共27页哦2.显示与隐藏窗体显示与隐藏窗体 窗窗体体用用Load语语句句加加载载后后,并并没没有有被被显显示示出出来来。若若要要显显示示窗体,可以使用窗体的窗体,可以使用窗体的Show方法,其语法格式为:方法,其语法格式为:窗体名窗体名.Show 窗体模式窗体模式 如如果果省省略略窗窗体体名名,则则显显示示当当前前窗窗体体。窗

9、窗体体模模式式用用来来指指定定窗窗体体状状态态,取取值值为为1或或0。当当取取值值为为1时时,窗窗体体为为“模模态态型型”,屏屏幕幕中中只只有有该该窗窗体体为为活活动动窗窗口口,其其它它窗窗口口都都不不能被操作。能被操作。当取值为当取值为0时,窗体为时,窗体为“非模态型非模态型”。Show方方法法兼兼有有加加载载与与显显示示窗窗体体的的两两种种功功能能。在在执执行行Show方方法法时时,若若窗窗体体不不在在内内存存中中,则则Show自自动动加加载载窗窗体体并并显显示示出来。出来。第9页,此课件共27页哦 若若要要暂暂时时关关闭闭窗窗体体而而不不将将窗窗体体卸卸载载,可可以以使使用用窗窗体体的的

10、Hide方法将窗体隐藏起来,其语法格式为:方法将窗体隐藏起来,其语法格式为:窗体名窗体名.Hide 窗体模式窗体模式 Hide方方法法将将窗窗体体隐隐藏藏起起来来,即即不不在在屏屏幕幕上上显显示示,但但仍仍在在内存中。内存中。说说明明:窗窗体体显显示示时时,其其Visible属属性性为为True,隐隐藏藏时时Visible属属性性为为False。也也可可以以在在代代码码中中通通过过修修改改Visible属属性性来显示或隐藏窗体。来显示或隐藏窗体。第10页,此课件共27页哦3.启动窗体启动窗体 当当工工程程包包含含多多个个窗窗体体的的时时候候,VB规规定定,必必须须指指定定其其中中一一个个窗窗体

11、体作作为为“启启动动窗窗体体”。如如果果不不指指定定启启动动窗窗体体,则则系系统统默默认认第第1个个建建立立的的窗窗体体为为启启动动窗窗体体。只只有有启启动动窗窗体体才才能能在在工工程程运运行行时时自自动动显显示示出出来来,其其他他窗窗体体必必须须通通过过Show方方法法才才能能看到。看到。指定启动窗体的步骤是:指定启动窗体的步骤是:1)选选择择“工工程程”菜菜单单中中的的“工工程程名名属属性性”选选项项,打打开开“工程属性工程属性”对话框。对话框。2)选选择择“通通用用”选选项项卡卡,在在“启启动动对对象象”下下拉拉列列表表中中,选择指定的窗体作为启动窗体。选择指定的窗体作为启动窗体。3)按

12、按“确定确定”按钮。按钮。第11页,此课件共27页哦4.程序的关闭程序的关闭 应应用用程程序序结结束束时时,应应卸卸载载所所有有的的窗窗体体。若若仍仍有有隐隐藏藏的的窗窗体体存存在在,则则程程序序继继续续运运行行。使使用用End语语句句结结束束程程序序,系系统统自动卸载工程中的所有窗体。自动卸载工程中的所有窗体。第12页,此课件共27页哦10.1.3 Sub Main10.1.3 Sub Main过程过程 在在一一个个含含有有多多个个窗窗体体或或多多个个工工程程的的应应用用程程序序中中,有有时时候候需需要要在在显显示示多多个个窗窗体体之之前前对对一一些些条条件件进进行行初初始始化化;有有时时候

13、候也也许许要要应应用用程程序序启启动动时时不不加加载载任任何何窗窗体体。例例如如:可可能能想想先先运运行行装装入入数数据据文文件件的的代代码码,然然后后再再根根据据数数据据文文件件的的内内容容决决定定显显示示几几个个不不同同窗窗体体中中的的哪哪一一个个。即即需需要要在在启启动动程程序序时时执执行行一一个个特特定定的的过过程程。在在VB中中,这这样样的的过过程程称称为为启启动动过过程程,并命名为并命名为Sub Main。例如:。例如:第13页,此课件共27页哦 Sub Main过过程程不不能能在在窗窗体体模模块块内内,必必须须在在标标准准模模块块中中。其建立方法如下:其建立方法如下:1)选择选择

14、“工程工程”菜单中的菜单中的“添加模块添加模块”菜单项。菜单项。2)在打开的在打开的“添加模块添加模块”对话框中按对话框中按“打开打开”按钮。按钮。3)在在该该模模块块(默默认认名名称称为为Module1)的的代代码码窗窗口口中中键键入入:Sub Main后后按按回回车车键键,系系统统自自动动给给出出过过程程的的开开始始行行和和结结束束行。行。4)在其中输入过程代码,并保存模块文件在其中输入过程代码,并保存模块文件Module1.bas。5)选选择择“工工程程”菜菜单单中中的的“工工程程属属性性”菜菜单单项项,打打开开“工程属性工程属性”对话框。对话框。6)选选择择“通通用用”选选项项卡卡,在

15、在“启启动动对对象象”下下拉拉列列表表中中,选择选择Sub Main,并按,并按“确定确定”按钮。按钮。第14页,此课件共27页哦10.1.4 10.1.4 多重窗体程序应用多重窗体程序应用【例例10-1】为为应应用用程程序序增增加加一一个个“登登录录”子子窗窗体体来来控控制制非非法用户的使用,如图法用户的使用,如图10-4所示。所示。图图10-4 “登录登录”子窗体子窗体Form2与应用程序窗体与应用程序窗体Form1 选选择择“工工程程”菜菜单单中中的的“添添加加窗窗体体”菜菜单单项项,打打开开“添添加窗体加窗体”对话框。设置对象属性如图对话框。设置对象属性如图10-4。第15页,此课件共

16、27页哦 设计设计“登录登录”子窗体子窗体Form2中代码。中代码。编写命令按钮编写命令按钮Command1(确定)的(确定)的Click事件代码:事件代码:Private Sub Command1_Click()If LCase(Text1.Text)=abcde Then Unload Me 卸载当前窗体卸载当前窗体 Form1.Show Else MsgBox 对不起,口令错!对不起,口令错!Text1.SelStart=0 Text1.SelLength=Len(Text1.Text)Text1.SetFocus End IfEnd Sub第16页,此课件共27页哦 编写命令按钮编写命

17、令按钮Command2(取消)的(取消)的Click事件代码:事件代码:Private Sub Command2_Click()EndEnd Sub 指定启动窗体。指定启动窗体。选选择择“工工程程”菜菜单单中中的的“工工程程名名属属性性”选选项项,打打开开“工工程程属属性性对对话话框框”,选选择择“通通用用”选选项项卡卡,在在“启启动动对对象象”下拉列表中,选择下拉列表中,选择Form2作为启动窗体。作为启动窗体。保存窗体。保存窗体。第17页,此课件共27页哦10.1.5 10.1.5 多文档(多文档(MDIMDI)窗体)窗体 多多文文档档界界面面的的应应用用可可同同时时打打开开多多个个文文档

18、档,每每个个文文档档都都显显示示在在自自己己的的窗窗口口中中。包包含含文文档档的的子子窗窗体体被被放放置置在在父父窗窗体体中中,父窗体为应用程序中所有的子窗体提供工作空间。父窗体为应用程序中所有的子窗体提供工作空间。子子窗窗体体实实际际上上就就是是MDIChild属属性性设设置置为为True的的普普通通窗窗体体,一一个个应应用用程程序序可可以以包包含含多多个个相相似似或或不不相相似似的的MDI子子窗窗体体。在在运运行行时时,子子窗窗体体显显示示在在MDI窗窗体体(父父窗窗体体)的的工工作作区区内内。当当子子窗窗体体最最小小化化时时,它它的的图图标标显显示示在在MDI窗窗体体的的工工作作区区内内

19、,而不是在任务栏中。而不是在任务栏中。第18页,此课件共27页哦 创建创建MDI窗体的一般步骤为:窗体的一般步骤为:1)在在“工工程程”菜菜单单中中选选择择“添添加加MDI窗窗体体”子子菜菜单单,系系统显示统显示“添加添加MDI窗体对话框窗体对话框”,如图,如图10-5所示。所示。2)选选择择“新新建建”选选项项卡卡中中的的“MDI”窗窗体体,单单击击“打打开开”按按钮钮,屏屏幕幕上上出出现现一一个个名名字字为为Mdiform1的的MDI窗窗体体(它它的的底色与普通窗体不同),如图底色与普通窗体不同),如图10-6所示。所示。图图10-5 “添加添加MDI窗体窗体”对话框对话框 图图10-6

20、新添加的新添加的MDI窗体窗体 第19页,此课件共27页哦 3)单单击击工工具具栏栏上上的的“启启动动”按按钮钮运运行行程程序序,一一个个空空白白的的MDI窗体出现在屏幕上。窗体出现在屏幕上。MDI窗窗体体与与普普通通窗窗体体不不同同,除除非非控控件件具具有有Align属属性性(如如PictureBox)或或者者具具有有不不可可见见界界面面(如如Timer),否否则则不不能能将控件直接放置在将控件直接放置在MDI窗体上。窗体上。任何时候,一个应用程序只能有一个任何时候,一个应用程序只能有一个MDI窗体。窗体。第20页,此课件共27页哦 多文档界面的特点:多文档界面的特点:1)所所有有子子窗窗体

21、体均均显显示示在在MDI窗窗体体(父父窗窗体体)的的工工作作区区中中。用用户户可可以以改改变变、移移动动子子窗窗体体的的大大小小,但但被被限限制制在在MDI窗窗体体中。中。2)当当最最小小化化一一个个子子窗窗体体时时,其其图图标标将将显显示示于于MDI窗窗体体上上而而不不是是在在任任务务栏栏中中。当当最最小小化化MDI窗窗体体时时,所所有有子子窗窗体体也也被最小化,只有被最小化,只有MDI窗体的图标出现在任务栏中。窗体的图标出现在任务栏中。3)当当最最大大化化一一个个子子窗窗体体时时,其其标标题题与与MDI窗窗体体的的标标题题一一起显示在起显示在MDI窗体的标题栏上。窗体的标题栏上。4)MDI

22、窗窗体体和和子子窗窗体体可可以以有有各各自自的的菜菜单单,当当子子窗窗体体加加载载时覆盖时覆盖MDI窗体的菜单。窗体的菜单。第21页,此课件共27页哦v10.2 DoEvents函数与闲置循环函数与闲置循环 在在一一般般情情况况下下,只只有有当当事事件件发发生生时时VB才才会会执执行行相相应应的的过过程程代代码码。这这就就是是说说,如如果果没没有有事事件件发发生生,应应用用程程序序将将处处于于“闲闲置置”状状态态。另另一一方方面面,当当VB执执行行一一个个过过程程时时,将将停停止止对对其其他他事事件件(如如鼠鼠标标事事件件)的的响响应应,直直至至过过程程执执行行完完毕毕。也也就就是是说说,如如

23、果果VB处处于于“忙忙碌碌”状状态态,事事件件过过程程只只能能在在队队列中等待,直到当前过程结束。列中等待,直到当前过程结束。为了改变这种顺序,为了改变这种顺序,VB提供了提供了DoEvents函数。函数。第22页,此课件共27页哦10.2.1 DoEvents10.2.1 DoEvents函数函数 使使用用DoEvents函函数数,可可以以将将应应用用程程序序的的控控制制权权交交还还给给Windows操操作作系系统统,以以便便处处理理其其他他事事件件。当当操操作作系系统统处处理理完完队队列列中中的的事事件件之之后后,返返回回控控制制权权。DoEvents函函数数的的语语法法格式为:格式为:D

24、oEvents()说明:说明:1)DoEvents函函数数返返回回一一个个Integer,以以代代表表Visual Basic独独立版本中打开的窗体数目。立版本中打开的窗体数目。2)若省略函数括号,则若省略函数括号,则DoEvents可以作为语句使用。可以作为语句使用。第23页,此课件共27页哦【例例10-2】使使用用DoEvents,可可以以在在执执行行循循环环的的过过程程中中进进行行其他操作,如图其他操作,如图10-7所示。所示。编写命令按钮编写命令按钮Command1(开始循环)的(开始循环)的Click事件代码:事件代码:Private Sub Command1_Click()For

25、i=1 To 200000 DoEvents For j=1 To 1000 Next j Label1.Caption=i NextEnd Sub图图10-7 在执行循环的过程中进行其他操作在执行循环的过程中进行其他操作第24页,此课件共27页哦 编写命令按钮编写命令按钮Command2(改变标题)的(改变标题)的Click事件代码:事件代码:Private Sub Command2_Click()Me.Caption=Label1.CaptionEnd Sub 说说明明:运运行行程程序序,单单击击“开开始始循循环环”按按钮钮,将将显显示示循循环环变变量量i的的值值。由由于于加加了了延延时时

26、循循环环,程程序序的的运运行行时时间间较较长长。如如果果没没有有DoEvents语语句句,则则程程序序运运行行期期间间不不能能进进行行任任何何操操作作。有有了了DoEvents语语句句,则则可可以以在在循循环环的的过过程程中中进进行行其其他他操操作作,如移动窗体、改变窗体大小、单击如移动窗体、改变窗体大小、单击“改变标题改变标题”按钮等。按钮等。第25页,此课件共27页哦10.2.2 10.2.2 闲置循环闲置循环 编编写写一一个个循循环环,当当程程序序处处于于闲闲置置状状态态时时来来执执行行该该循循环环,这个循环称为这个循环称为“闲置循环闲置循环”。【例例10-3】编编写写“闲闲置置循循环环

27、”,当当没没有有事事件件发发生生的的时时候候,作计数循环,如图作计数循环,如图10-8所示。所示。首先在工程中添加一个模块首先在工程中添加一个模块Module1,编写其中代码:,编写其中代码:Public a As Long 声明全局变量声明全局变量Sub main()Main程序程序 Form1.Show 显示窗体显示窗体 Do While DoEvents()闲置循环闲置循环 a=a+1 LoopEnd Sub图图10-8 闲置循环闲置循环第26页,此课件共27页哦 编写命令按钮编写命令按钮Command1(确定)的(确定)的Click事件代码:事件代码:Private Sub Command1_Click()Label1.Caption=aEnd Sub 3)将启动对象设为将启动对象设为Sub Main。说说明明:执执行行程程序序,单单击击“确确定定”按按钮钮,将将显显示示计计数数变变量量a的值。的值。第27页,此课件共27页哦

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

当前位置:首页 > 生活休闲 > 资格考试

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

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