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;
}
}
需要帮助!再见木乃比
您的事件注册可能会被垃圾回收。确保folder
声明为私有类成员,并且还需要管理ContactItems
(List<ContactItem>
或类似)的私有类成员集合,以确保AfterWrite
事件处理程序正确注册且未释放。
有关参考,请参阅此 SO 帖子,其中介绍了事件处理的 VSTO 限制以及如何正确附加到 Office 事件。