mailItem.PropertyChange 停止触发

本文关键字:PropertyChange mailItem | 更新日期: 2023-09-27 18:33:05

我正在Outlook中使用电子邮件实现自定义任务窗格。核心取自此链接 MSDN(演练:在 Outlook 中显示包含电子邮件的自定义任务窗格)

添加了属性更改处理程序:

    void TaskPane_VisibleChanged(object sender, EventArgs e)
            {
                Globals.Ribbons[inspector].ManageTaskPaneRibbon
.toggleButton1.Checked = taskPane.Visible;
...some code here...
                mailItem.PropertyChange += PropertyChangeHandler;
            }

PropertyChangeHandler 检查收件人是否已更改,并对帖子等执行一些繁重的例行程序。但。。。如果我添加 10 个收件人并开始使用退格键删除它们,则属性更改处理程序会在某个时候停止触发。没有错误。自定义任务窗格上的按钮工作正常。

怎么了?

似乎要么事件被吃掉了,要么检查员不正确,但我无法发现问题并找到解决方案。

我也认为在上一个事件完成之前触发下一个事件时可能是关于"重负载"的,但这是一个猜测

mailItem.PropertyChange 停止触发

您需要调用 Save 方法或显式保存消息以使 PropertyChange 事件触发。Outlook 在 UI 中缓存值,并且在保存项目之前不会传播更改。

此外,我建议创建一个日志文件(常规文本文件),您可以在其中编写调试语句。因此,您将了解代码中发生的情况。