Outlook外接程序约会项目PropertyChange事件触发过多

科恩

我正在创建一个Outlook外接程序,当会议的与会者更改时需要触发该外接程序。我遇到的问题是,约会项的PropertyChange事件触发的方式太多,因此我无法获得确切的参与者数量。

这是我正在使用的一些代码:

private Outlook.AppointmentItem appointmentItem;
private void Inspectors_NewInspector(Outlook.Inspector inspector)
    {
        var item = inspector.CurrentItem as Outlook.AppointmentItem;
        if (item != null)
        {
            appointmentItem = item;
            temp = inspector;
            visible = false;
            appointmentItem.PropertyChange += AppOnPropertyChange;
        }
    }

private void AppOnPropertyChange(string name)
    {

        if (name.Equals("RequiredAttendees"))
        {
            var test = appointmentItem.Recipients.Count;
        }
    }

事件被触发太多次,因此“测试”将获得介于1(发送方始终是与会者)和与会者数量之间的值。另外,如果您说3名参加者,而您删除了1名,则“测试”为4-3-2-1。

有没有办法找出AppointmentItem中与会者的确切人数?

任何帮助将非常感激。

德米特里·斯特雷布连科

ItemChange("RequiredAttendees") 将为必需,可选或资源参与者中的任何更改而触发,您无需为此做任何事情。

我很幸运使用计时器-触发ItemChange事件时,启用计时器(您可以将其间隔设置为100毫秒)。当计时器事件触发时,请禁用计时器(这样它就不会再次触发)。并处理收件人集合。到那时,所有更改都将被处理,您将只处理与会者一次。

由于使用的是.Net,请使用Forms命名空间中的Timer类(它在主线程上工作)而不是System命名空间(它使用背景线程,这是在COM加载项中使用Outlook对象时的一种不好的做法) 。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何触发过渡事件?

来自分类Dev

调试Outlook外接程序桌面

来自分类Dev

Outlook集成-约会发送事件

来自分类Dev

VSTO Outlook外接程序将无法使用

来自分类Dev

以编程方式启用/禁用Outlook外接程序

来自分类Dev

Outlook中的定期约会和定期事件之间的区别?

来自分类Dev

Outlook外接呼叫现有功能区项目

来自分类Dev

Outlook ItemAdd事件未触发

来自分类Dev

Outlook ItemAdd事件未触发

来自分类Dev

Outlook ItemAdd事件针对新的日历项目触发两次

来自分类Dev

将多个项目同时添加到Outlook文件夹时,如何触发事件?

来自分类Dev

在Outlook 2013 C#VSTO项目中,为什么Explorer SelectionChange事件触发两次

来自分类Dev

Outlook VSTO外接程序中的“保存文件”对话框

来自分类Dev

C#Outlook外接程序无法正确安装

来自分类Dev

Outlook 2007外接程序GetProperty-不支持的属性

来自分类Dev

VSTO C#-Outlook外接程序-.AttachmentSelections对象之间的区别

来自分类Dev

Outlook 2016 Windows / Mac / Web中的外接程序的新API

来自分类Dev

使用C#程序读取Outlook日历约会时出错

来自分类Dev

是否可以通过多个事件来触发“全选”事件

来自分类Dev

是否可以通过多个事件来触发“全选”事件

来自分类Dev

如何知道特定外接程序项目针对的Microsoft Office版本?

来自分类Dev

创建 Outlook 约会

来自分类Dev

如何在Outlook中添加新标签。使用Visual Studio 2013的Outlook外接程序/插件开发

来自分类Dev

如何检测外接程序在Outlook for Desktop和Outlook Web内在哪个屏幕上工作?

来自分类Dev

无法使用Outlook Rest API在Outlook外接程序中向邮件添加附件

来自分类Dev

未触发事件处理程序

来自分类Dev

未触发事件处理程序

来自分类Dev

Jquery 按键被触发过早

来自分类Dev

将点击事件触发到项目列表

Related 相关文章

  1. 1

    如何触发过渡事件?

  2. 2

    调试Outlook外接程序桌面

  3. 3

    Outlook集成-约会发送事件

  4. 4

    VSTO Outlook外接程序将无法使用

  5. 5

    以编程方式启用/禁用Outlook外接程序

  6. 6

    Outlook中的定期约会和定期事件之间的区别?

  7. 7

    Outlook外接呼叫现有功能区项目

  8. 8

    Outlook ItemAdd事件未触发

  9. 9

    Outlook ItemAdd事件未触发

  10. 10

    Outlook ItemAdd事件针对新的日历项目触发两次

  11. 11

    将多个项目同时添加到Outlook文件夹时,如何触发事件?

  12. 12

    在Outlook 2013 C#VSTO项目中,为什么Explorer SelectionChange事件触发两次

  13. 13

    Outlook VSTO外接程序中的“保存文件”对话框

  14. 14

    C#Outlook外接程序无法正确安装

  15. 15

    Outlook 2007外接程序GetProperty-不支持的属性

  16. 16

    VSTO C#-Outlook外接程序-.AttachmentSelections对象之间的区别

  17. 17

    Outlook 2016 Windows / Mac / Web中的外接程序的新API

  18. 18

    使用C#程序读取Outlook日历约会时出错

  19. 19

    是否可以通过多个事件来触发“全选”事件

  20. 20

    是否可以通过多个事件来触发“全选”事件

  21. 21

    如何知道特定外接程序项目针对的Microsoft Office版本?

  22. 22

    创建 Outlook 约会

  23. 23

    如何在Outlook中添加新标签。使用Visual Studio 2013的Outlook外接程序/插件开发

  24. 24

    如何检测外接程序在Outlook for Desktop和Outlook Web内在哪个屏幕上工作?

  25. 25

    无法使用Outlook Rest API在Outlook外接程序中向邮件添加附件

  26. 26

    未触发事件处理程序

  27. 27

    未触发事件处理程序

  28. 28

    Jquery 按键被触发过早

  29. 29

    将点击事件触发到项目列表

热门标签

归档