Windows Forms高级界面组件-单文档和多文档应用程序
单文档和多文档应用程序简介
通常Windows应用程序分为三类:基于对话框的应用程序、单文档界面应用程序(SDI)和多文档界面应用程序(MDI)。单文档界面(Single-Document Interface, SDI)和多文档界面(Multi-Document Interface, MDI)。
单文档应用程序(MDI)是处理单一文档的应用程序,通常用于完成一个任务,使用单一的文档。此应用程序常涉及许多用户交互操作,并且能够保存或打开工作的结果。在SDI应用程序中已打开一个文件,要新建或再打开一个文件,则必须关闭当前打开的文件,才会打开新文件。如果要同时打开两个文件,则必须启动应用程序的一个新实例。Microsoft Windows中的“记事本”是单文档界面应用程序的一个典型示例。在“记事本”中,同一时间只能打开一个文档。
多文档应用程序(MDI)是一种常用的文档程序,常用的Excel,VS应用程序都是多文档应用程序。多文档应用程序最大特点是,用户可以一次打开多个文档,每个文档对应不同的窗口。MDI应用程序允许创建一个在单个容器窗体内容纳多个窗体应用程序,每个应用程序都有一个主窗口,子窗口在主窗口中打开,主窗口的菜单会随着当前活动的子窗口的变化而变化。
多文档应用程序的主窗体和子窗体
多文档应用程序(MDI)至少由两上载然不同的窗口组成,第一个窗口叫MDI窗体容器,也叫做主窗体,它包含多个MDI子窗体,也就是可以在主窗体中显示的窗口。MDI主窗体的特点如下:
启动MDI应用程序时,首先显示的是主窗体。
主窗体是MDI程序的窗体窗器,该程序的所有窗体都在主窗体的界面内打开。
每个MDI应用程序都只能有一个MDI主窗体。
任何MDI子窗体都不能移出MDI框架区域。
关闭MDI主窗体则自动关闭所有打开的MDI子窗体
多文档操作MDI的属性和事件
属性 |
说明 |
MdiChildren |
用于获取表示多文档界面 (MDI) 子窗体的窗体数组 |
MdiParent |
用于获取或设置当前多文档界面 (MDI) 父窗体 |
ActiveMdiChild |
用于获取当前活动的多文档界面 (MDI) 子窗体 |
方法 |
说明 |
ActivateMdiChild |
用于激活子窗体 |
LayoutMdi |
排列 MDI 父窗体中的多文档界面 (MDI) 子窗体 |
事件 |
说明 |
Closed |
由用户或窗体的 Close 方法关闭窗体后,发生该事件 |
Closing |
正在关闭窗体时,发生该事件 |
MdiChildActivate |
在 MDI 应用程序中激活或关闭多文档界面 (MDI) 子窗体时,触发该事件 |