【发布时间】:2018-07-30 20:34:10
【问题描述】:
我有一个用于 MS Project 的 VSTO 加载项,它打开表单,其中数据与打开表单时处于活动状态的特定项目文件相关。可以打开与一个项目文件相关的一个表单,同时打开与第二个打开的项目文件相关的另一个不同的表单。
当我关闭一个项目文件时,我想检查每个打开的表单,如果表单基础项目 ID 等于正在关闭的项目文件的项目 ID,则关闭它。如何访问 vsto 应用程序的开放表单集合(或做一些等效的事情)?在 vsto 世界中似乎不存在 Application.OpenForms 对象。
【问题讨论】:
-
如果这些是 .net 表单,请为打开的表单创建一个集合。每次打开表单时,它都会进入集合,并且每次触发 Project BeforeClose 事件时,在集合中搜索适当的表单并关闭它。
-
当我尝试使用 FormCollection 对象时,它说它是只读的,并且没有 Add 方法...?
-
似乎也没有任何“表单”对象。
标签: vsto ms-project