电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第10章 多重窗体与环境应用

27页
  • 卖家[上传人]:E****
  • 文档编号:89183820
  • 上传时间:2019-05-20
  • 文档格式:PPT
  • 文档大小:238.50KB
  • / 27 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第10章 多重窗体与环境应用,第10章 多重窗体与环境应用,10.1 多重窗体与多文档窗体 Visual Basic允许在一个工程(程序)中使用多个窗体。多窗体程序一般有两种形式,单文档界面(SDI)和多文档界面(MDI)。前者又称为多重窗体界面,每个窗体都是独立的、平等的;后者所包含的多个窗体则被放置在一个(父)窗体中,父窗体为应用程序中所有的(子)窗体提供工作空间。,10.1.1 建立多重窗体应用程序 多重窗体应用程序的代码是针对各个窗体编写的,因此其设计基础是单个窗体的设计。而在多重窗体应用程序中添加和删除窗体的操作需要使用“工程”菜单。 1. 在工程中添加窗体 在当前工程中添加一个新的窗体有3种方法: 在“工程”菜单中选择“添加窗体”菜单项。 在工具栏中选择“添加”,单击其下拉箭头,从弹出的列表中选择“添加窗体”。 在工程资源管理器中的工程图标上单击鼠标右键,打开快捷菜单,选择“添加”子菜单下的“添加窗体”选项。,图10-1 “添加窗体”对话框 添加的新窗体(设为第二个)被命名为Form2,后续的窗体则分别命名为Form3、Form4等等。可以在属性窗口修改新窗体的名称。 2.

      2、 在工程中删除窗体 从工程中删除窗体的方法有两种: 先选定欲删除的窗体,然后在“工程”菜单中选择“移除窗体名”。 在工程资源管理器中欲删除的窗体名上单击鼠标右键,打开快捷菜单,选择“移除窗体名”。,3. 保存窗体 每建立一个新的窗体,都应将窗体存盘,一个窗体保存在一个扩展名为.frm的窗体文件中。保存窗体可以在“文件”菜单中选择“保存窗体名”或“窗体名另存为”选项。 对于新建立的工程,在“文件”菜单中选择“保存工程”或“工程另存为”选项,系统将自动弹出对话框,提示用户保存工程的各个文件,如标准模块文件(.bas)、窗体文件(.frm)、工程文件(.vbp)。,4. 使用工程资源管理器 多重窗体实际上是单一窗体的集合,每个窗体都需要独立进行创建和修改。在设计时,利用工程资源管理器可以在各个窗体间进行切换(如图10-2所示)。 图10-2 “工程资源管理器”,10.1.2 多重窗体程序的执行 在单窗体工程中,所有的操作都在一个窗体中完成,不需要在多个窗体间切换。而在多窗体工程中,则需要打开、关闭、显示或隐藏指定的窗体,下面介绍相应的语句和方法。 1. 加载与卸载窗体 加载窗体是指将窗体文件

      3、装入内存,而卸载窗体是指将窗体从内存中删除。VB有两条语句专门用于对窗体进行加载与卸载的操作:Load语句和Unload语句。,1) Load语句是加载窗体的命令,其语法格式为: Load窗体名 其中窗体名即窗体的Name属性。执行Load语句后,可以引用窗体中的各对象,如控件及其各种属性,但此时窗体并没有显示出来。 2) Unload语句是卸载窗体的命令,其语法格式为: Unload窗体名 该语句与Load语句的功能相反,它清除内存中指定的窗体。,2. 显示与隐藏窗体 窗体用Load语句加载后,并没有被显示出来。若要显示窗体,可以使用窗体的Show方法,其语法格式为: 窗体名. Show 窗体模式 如果省略窗体名,则显示当前窗体。窗体模式用来指定窗体状态,取值为1或0。当取值为1时,窗体为“模态型”,屏幕中只有该窗体为活动窗口,其它窗口都不能被操作。 当取值为0时,窗体为“非模态型”。 Show方法兼有加载与显示窗体的两种功能。在执行Show方法时,若窗体不在内存中,则Show自动加载窗体并显示出来。,若要暂时关闭窗体而不将窗体卸载,可以使用窗体的Hide方法将窗体隐藏起来,其语法格

      4、式为: 窗体名. Hide 窗体模式 Hide方法将窗体隐藏起来,即不在屏幕上显示,但仍在内存中。 说明:窗体显示时,其Visible属性为True,隐藏时Visible属性为False。也可以在代码中通过修改Visible属性来显示或隐藏窗体。,3. 启动窗体 当工程包含多个窗体的时候,VB规定,必须指定其中一个窗体作为“启动窗体”。如果不指定启动窗体,则系统默认第1个建立的窗体为启动窗体。只有启动窗体才能在工程运行时自动显示出来,其他窗体必须通过Show方法才能看到。 指定启动窗体的步骤是: 1) 选择“工程”菜单中的“工程名属性”选项,打开“工程属性”对话框。 2) 选择“通用”选项卡,在“启动对象”下拉列表中,选择指定的窗体作为启动窗体。 3) 按“确定”按钮。,4. 程序的关闭 应用程序结束时,应卸载所有的窗体。若仍有隐藏的窗体存在,则程序继续运行。使用End语句结束程序,系统自动卸载工程中的所有窗体。,10.1.3 Sub Main过程 在一个含有多个窗体或多个工程的应用程序中,有时候需要在显示多个窗体之前对一些条件进行初始化;有时候也许要应用程序启动时不加载任何窗体。例如

      5、:可能想先运行装入数据文件的代码,然后再根据数据文件的内容决定显示几个不同窗体中的哪一个。即需要在启动程序时执行一个特定的过程。在VB中,这样的过程称为启动过程,并命名为Sub Main。例如:,Sub Main过程不能在窗体模块内,必须在标准模块中。其建立方法如下: 1) 选择“工程”菜单中的“添加模块”菜单项。 2) 在打开的“添加模块”对话框中按“打开”按钮。 3) 在该模块(默认名称为Module1)的代码窗口中键入:Sub Main后按回车键,系统自动给出过程的开始行和结束行。 4) 在其中输入过程代码,并保存模块文件Module1.bas。 5) 选择“工程”菜单中的“工程属性”菜单项,打开“工程属性”对话框。 6) 选择“通用”选项卡,在“启动对象”下拉列表中,选择Sub Main,并按“确定”按钮。,10.1.4 多重窗体程序应用 【例10-1】为应用程序增加一个“登录”子窗体来控制非法用户的使用,如图10-4所示。 图10-4 “登录”子窗体Form2与应用程序窗体Form1 选择“工程”菜单中的“添加窗体”菜单项,打开“添加窗体”对话框。设置对象属性如图10-4。,

      6、设计“登录”子窗体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 If End Sub,编写命令按钮Command2(取消)的Click事件代码: Private Sub Command2_Click() End End Sub 指定启动窗体。 选择“工程”菜单中的“工程名属性”选项,打开“工程属性对话框”,选择“通用”选项卡,在“启动对象”下拉列表中,选择Form2作为启动窗体。 保存窗体。,10.1.5 多文档(MDI)窗体 多文档界面的应用可同时打开多个文档,每个文档都显示在自己的窗口中。包含文档的子窗体被放置在父窗体中,父窗体为应用程序中所有的子窗体提供工作空间。 子窗体实际上

      7、就是MDIChild属性设置为True的普通窗体,一个应用程序可以包含多个相似或不相似的MDI子窗体。在运行时,子窗体显示在MDI窗体(父窗体)的工作区内。当子窗体最小化时,它的图标显示在MDI窗体的工作区内,而不是在任务栏中。,创建MDI窗体的一般步骤为: 1) 在“工程”菜单中选择“添加MDI窗体”子菜单,系统显示“添加MDI窗体对话框”,如图10-5所示。 2) 选择“新建”选项卡中的“MDI”窗体,单击“打开”按钮,屏幕上出现一个名字为Mdiform1的MDI窗体(它的底色与普通窗体不同),如图10-6所示。 图10-5 “添加MDI窗体”对话框 图10-6 新添加的MDI窗体,3) 单击工具栏上的“启动”按钮运行程序,一个空白的MDI窗体出现在屏幕上。 MDI窗体与普通窗体不同,除非控件具有Align属性(如PictureBox)或者具有不可见界面(如Timer),否则不能将控件直接放置在MDI窗体上。 任何时候,一个应用程序只能有一个MDI窗体。,多文档界面的特点: 1) 所有子窗体均显示在MDI窗体(父窗体)的工作区中。用户可以改变、移动子窗体的大小,但被限制在MDI窗体

      8、中。 2) 当最小化一个子窗体时,其图标将显示于MDI窗体上而不是在任务栏中。当最小化MDI窗体时,所有子窗体也被最小化,只有MDI窗体的图标出现在任务栏中。 3) 当最大化一个子窗体时,其标题与MDI窗体的标题一起显示在MDI窗体的标题栏上。 4) MDI窗体和子窗体可以有各自的菜单,当子窗体加载时覆盖MDI窗体的菜单。,10.2 DoEvents函数与闲置循环 在一般情况下,只有当事件发生时VB才会执行相应的过程代码。这就是说,如果没有事件发生,应用程序将处于“闲置”状态。另一方面,当VB执行一个过程时,将停止对其他事件(如鼠标事件)的响应,直至过程执行完毕。也就是说,如果VB处于“忙碌”状态,事件过程只能在队列中等待,直到当前过程结束。 为了改变这种顺序,VB提供了DoEvents函数。,10.2.1 DoEvents函数 使用DoEvents函数,可以将应用程序的控制权交还给Windows操作系统,以便处理其他事件。当操作系统处理完队列中的事件之后,返回控制权。DoEvents函数的语法格式为: DoEvents() 说明: 1) DoEvents函数返回一个Integer,以

      9、代表Visual Basic独立版本中打开的窗体数目。 2) 若省略函数括号,则DoEvents可以作为语句使用。,【例10-2】使用DoEvents,可以在执行循环的过程中进行其他操作,如图10-7所示。 编写命令按钮Command1(开始循环)的Click事件代码: Private Sub Command1_Click() For i = 1 To 200000 DoEvents For j = 1 To 1000 Next j Label1.Caption = i Next End Sub 图10-7 在执行循环的过程中进行其他操作,编写命令按钮Command2(改变标题)的Click事件代码: Private Sub Command2_Click() Me.Caption = Label1.Caption End Sub 说明:运行程序,单击“开始循环”按钮,将显示循环变量i的值。由于加了延时循环,程序的运行时间较长。如果没有DoEvents语句,则程序运行期间不能进行任何操作。有了DoEvents语句,则可以在循环的过程中进行其他操作,如移动窗体、改变窗体大小、单击“改变标题”按钮等。,10.2.2 闲置循环 编写一个循环,当程序处于闲置状态时来执行该循环,这个循环称为“闲置循环”。 【例10-3】编写“闲置循环”,当没有事件发生的时候,作计数循环,如图10-8所示。 首先在工程中添加一个模块Module1,编写其中代码: Public a As Long 声明全局变量 Sub main() Main程序 Form1.Show 显示窗体 Do While DoEvents() 闲置循环 a = a + 1 Loop End Sub 图10-8 闲置循环,编写命令按钮Command1(确定)的Click事件代码: Private Sub Command1_Click() Label1.Caption = a End Sub 3) 将启动对象设为Sub Main。 说明:执行程序,单击“确定”按钮,将显示计数变量a的值。,

      《Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第10章 多重窗体与环境应用》由会员E****分享,可在线阅读,更多相关《Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第10章 多重窗体与环境应用》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.