更新:2007 年 11 月
此示例演示带有多个顶级窗体的应用程序,与 Microsoft Word 相似。
获取示例及其安装说明
执行下列一项或多项操作:
在“帮助”菜单上,单击“示例”。
自述文件将显示有关示例的信息。
访问 Visual Studio 2008 示例网站。该网站提供了最新版本的示例。
在安装了 Visual Studio 的计算机上查找示例。默认情况下,示例和自述文件安装在驱动器号:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid 中。对于 Visual Studio 的速成版,所有示例都可联机找到。
有关更多信息,请参见定位示例文件。
![]() |
---|
此示例代码用于阐释概念,因此仅显示与此概念相关的代码。该代码可能不符合特定环境的安全要求,因此不应原样搬用所显示的代码。我们建议您添加安全性代码和错误处理代码,以使项目更加安全可靠。Microsoft“按原样”提供此示例代码,不提供任何保证。 |
运行此示例
按 F5。
使用“文件”菜单上的“新建”命令创建多个文档窗口,并验证所有文档是否都显示在任务栏中。
使用“任务管理器”验证该应用程序仅运行一个进程。
演示
许多基于文档的应用程序支持多个窗口,每个打开的文档都有一个窗口,在任务栏中显示。可以使用 Alt+Tab 组合键在这些文档之间切换,但没有在单独进程中加载各个文档产生的开销。该示例实现此行为。
该应用程序的启动对象为 FormsManager 类中的 Sub Main 方法。Main 方法通过调用 FormsManager 类的 NewForm 方法创建一个新窗体实例,再将新窗体添加到 List 对象。创建了第一个窗体后,此代码将调用 Application.Run 以启动应用程序主线程,以使关闭第一个窗体时不会关闭此进程。每个文档窗体公开一个“新建”菜单项。单击此菜单项将再次调用 NewForm 方法,这会打开一个新文档窗体,正如加载应用程序时 Sub Main 的操作一样。
每个窗体还提供“关闭”和“退出”菜单项。选择“关闭”可以启动关闭进程。每个窗体都有一个 Closing 事件,此事件允许窗体的代码检查文档内容是否已被修改,如果已修改,将询问用户是否保存此修改。
如果试图通过关闭窗体或退出应用程序来关闭已更改的文档,将出现一个对话框,要求您保存窗体的内容。如果单击“是”,代码将调用此窗体的 Save 方法并关闭此窗体。如果单击“否”,此窗体将直接关闭。如果单击“取消”,此窗体将不会关闭,并会引发一个自定义事件,指示此应用程序停止关闭。该应用程序不会实际执行任何文件 I/O 以保存此文件。