文档介绍:第11章
多重窗体程序设计
本章要点:
•概述
•与窗体有关的语句和方法
•多重窗体程序设计方法
• MDI界面设计
•标准模块与SUB MAIN过程
1
概述
1、标准模块
3、多重窗体设计的关键:
(1)要解决不同窗体之间的衔接和窗体的显示、关闭等问题。
(2)在窗体的代码中,可以使用Me关键字代表当前窗体的名称
2、类模块:
如果需要共享的是一些对象,就需要将对象编码独立出来,这就是类模块。
在几个窗体中都有要执行的公共代码,为了避免在两个窗体中重复代码,就需要创建一些独立模块,用来包含这些公共代码,这就是标准模块。
2
与窗体有关的语句和方法
启动窗体:启动程序后自动打开并显示在屏幕上的窗体。
窗体的加载和卸载
1、Load语句
功能:加载指定窗体,即在内存中创建该窗体,但不显示在屏幕上。
语法:Load 窗体名称
说明:加载窗体后,该窗体中的所有控件已经建立起来了,窗体的Load事件已被触发
2、Unload语句
功能:卸载指定的窗体,即释放窗体所占内存。
语法:Unload 窗体名称
注意:1、启动窗体的设置方法
2、每个工程最多只能有一个启动窗体
3
窗体的常用方法
1、Show方法
语法:[ 窗体名称].Show [ 模式]
功能:将指定的窗体显示出来。
说明:
(1)如果省略了”窗体名称“,将显示当前窗体。
(2)Show方法兼具有Load语句的功能,如果要显示的窗体没有加载到内存中,Show方法可以自动加载。否则,直接将已加载的窗体显示出来。
(3)Show方法的“模式”参数是可选的,取值为0或1。如果“模式”参数的值为1-vbModal,所显示的窗体是“模态型”的,此时,除了该窗体外其他窗体已被屏蔽,不接受键盘或鼠标操作,除非关闭该窗口
4
2、Hide方法
功能:隐藏指定的窗体
语法:[ 窗体名称].Hide
说明:窗体被隐藏后并没有从内存中消失,Hide方法不会触发Unload事件。
【】窗体的显示模式
Ref IDE
5
‘Form1的Load事件
Private Sub Form_Load()
Load Form2 ' 同时装载Form2窗体
End Sub
‘Form1的Unload的事件
Private Sub Form_Unload(Cancel As Integer)
Unload Form2 ' 同时卸载Form2窗体
End Sub
‘退出按钮的click事件
Private Sub btnExit_Click()
End ‘关闭所有窗体,退出程序
End Sub
6
‘模态方式显示Form2
Private Sub btnModal_Click()
1 ' “摸态”方式显示
End Sub
‘非模态方式显示Form2
Private Sub btnModaless_Click()
' “非模态”方式显示
End Sub
‘窗体2的退出按钮
Private mand1_Click()
' 隐藏当前窗体
End Sub
7
多重窗体程序设计方法
思考:
多重窗体程序相对比较复杂,采用什么思路和方法来设计程序呢?
1)需求分析
2)软件设计(界面、数据、程序结构、算法等)
3)编码实现
4)测试调试
5)安装部署
6)运行维护
8
MDI界面设计
程序的用户界面样式主要有3种:
(1)SDI界面
SDI界面是单文档界面,指在程序中每次只能打开一个“文档”,要打开其他文档,必须先关闭已打开的文档,例如,Windows的“记事本”程序就是SDI界面。
(2)MDI界面
MDI界面是多文档界面,在程序中可以同时打开多个“文档”。MDI界面程序具有一个父窗体——MDI窗体,每打开一个文档将打开一个子窗体——文档窗体,子窗体被包含在父窗体中。父窗体为所有子窗体提供工作空间,子窗体只能在父窗体中移动,不能超出父窗体的工作区域限制。
9
(3)资源管理器界面
目前,资源管理器界面非常流行,如Windows的资源管理器程序。该界面包括两个窗格或区域,通常左边是一个树型的或层次型的窗格,右边是一个显示区,显示与左边窗格中选中的项目对应的内容。
标准模块与Sub Main过程
如果需要在加载任何窗体以前进行程序的初始化,可以把初始化代码放到标准模块的Sub Main过程中。
注意:
1、Sub Main过程必须在标准模块中建立。
2、每个工程可以包含若干标准模块,但最多只能
有一个Sub Main过程。
1