顶级窗体示例

更新:2007 年 11 月

此示例演示带有多个顶级窗体的应用程序,与 Microsoft Word 相似。

获取示例及其安装说明

  • 执行下列一项或多项操作:

    • 在“帮助”菜单上,单击“示例”。

      自述文件将显示有关示例的信息。

    • 访问 Visual Studio 2008 示例网站。该网站提供了最新版本的示例。

    • 在安装了 Visual Studio 的计算机上查找示例。默认情况下,示例和自述文件安装在驱动器号:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid 中。对于 Visual Studio 的速成版,所有示例都可联机找到。

有关更多信息,请参见定位示例文件

安全说明:

此示例代码用于阐释概念,因此仅显示与此概念相关的代码。该代码可能不符合特定环境的安全要求,因此不应原样搬用所显示的代码。我们建议您添加安全性代码和错误处理代码,以使项目更加安全可靠。Microsoft“按原样”提供此示例代码,不提供任何保证。

运行此示例

  1. 按 F5。

  2. 使用“文件”菜单上的“新建”命令创建多个文档窗口,并验证所有文档是否都显示在任务栏中。

  3. 使用“任务管理器”验证该应用程序仅运行一个进程。

演示

许多基于文档的应用程序支持多个窗口,每个打开的文档都有一个窗口,在任务栏中显示。可以使用 Alt+Tab 组合键在这些文档之间切换,但没有在单独进程中加载各个文档产生的开销。该示例实现此行为。

该应用程序的启动对象为 FormsManager 类中的 Sub Main 方法。Main 方法通过调用 FormsManager 类的 NewForm 方法创建一个新窗体实例,再将新窗体添加到 List 对象。创建了第一个窗体后,此代码将调用 Application.Run 以启动应用程序主线程,以使关闭第一个窗体时不会关闭此进程。每个文档窗体公开一个“新建”菜单项。单击此菜单项将再次调用 NewForm 方法,这会打开一个新文档窗体,正如加载应用程序时 Sub Main 的操作一样。

每个窗体还提供“关闭”和“退出”菜单项。选择“关闭”可以启动关闭进程。每个窗体都有一个 Closing 事件,此事件允许窗体的代码检查文档内容是否已被修改,如果已修改,将询问用户是否保存此修改。

如果试图通过关闭窗体或退出应用程序来关闭已更改的文档,将出现一个对话框,要求您保存窗体的内容。如果单击“是”,代码将调用此窗体的 Save 方法并关闭此窗体。如果单击“否”,此窗体将直接关闭。如果单击“取消”,此窗体将不会关闭,并会引发一个自定义事件,指示此应用程序停止关闭。该应用程序不会实际执行任何文件 I/O 以保存此文件。

请参见

参考

Form.Closing

Application.Run