【问题标题】:VSTO FormRegionShowing and FormRegionClosing event not firingVSTO FormRegionShowing 和 FormRegionClosing 事件未触发
【发布时间】:2026-01-14 14:35:02
【问题描述】:

晚上好,

我有一个在 2007 年工作但在 2010 年工作的 Outlook 插件。我必须在 [regionName].Designer.cs 文件中进行一些更改以实现 IFormRegionFactory。我已经进行了这些更改,现在我的表单区域按预期显示在每个 AppointmentItem 上。

但是,似乎没有触发 FromRegionShowing 事件和 FormRegionClosing 事件。它们位于我的区域部分类的 InitializeComponent 私有方法中,该方法从 FormRegionBase 继承为:

 this.FormRegionShowing += new System.EventHandler(this.[class]Region_FormRegionShowing);
 this.FormRegionClosed += new System.EventHandler(this.[class]Region_FormRegionClosed);

不知道为什么没有连接事件。我是否需要将它连接到 TimeTrackingRegionFactory 部分类中,以像 FormRegionInitializing 事件一样实现 IFormRegionFactory。

任何帮助,我都会为你对圣诞老人说好话。 :)

谢谢,比尔 N

【问题讨论】:

    标签: c# vsto outlook-addin


    【解决方案1】:

    相当尴尬,但显然我在隐藏继承成员 FormRegionBase.OUTlookFormRegion 的部分类 [class]Region 中声明了以下内容:

    public IFormRegionFactory Factory { get; set; }
    public FormRegion OutlookFormRegion { get; set; }
    public object OutlookItem { get; private set; }
    public FormRegionManifest Manifest { get; private set; }
    public event EventHandler FormRegionShowing;
    public event EventHandler FormRegionClosed;
    

    删除这些工作。

    【讨论】: