Outlook ItemChange Handler(使项目不可更改)

本文关键字:可更改 项目 ItemChange Handler Outlook | 更新日期: 2023-09-27 18:36:08

我写了一个Outlook Addin,它应该在写入后更改Contactitem。我使用 ItemChange EventHandler

folder.ItemChange += new Outlook.ItemsEvents_ItemChangeEventHandler(ContactItemChange);

但是当我编辑项目时,我的代码总是在后台运行,所以我无法编辑我的项目。

我已经尝试过项目。后写和项目。写入,但事件永远不会触发。

    private void ContactItemChange(object item)
    {
        if (item is ContactItem)
        {
            ((ContactItem)item).AfterWrite += ThisAddIn_Write;
        }
    }

需要帮助!再见木乃比

Outlook ItemChange Handler(使项目不可更改)

您的事件注册可能会被垃圾回收。确保folder声明为私有类成员,并且还需要管理ContactItemsList<ContactItem>或类似)的私有类成员集合,以确保AfterWrite事件处理程序正确注册且未释放。

有关参考,请参阅此 SO 帖子,其中介绍了事件处理的 VSTO 限制以及如何正确附加到 Office 事件。