事件处理程序未添加到新的邮件项目

Elaverick

我正在尝试创建一个响应新附件事件的简单Outlook 2010加载项。下面的代码仅在取消注释MessageBox.Show行时有效。但是删除它后,似乎没有添加事件处理程序。我对程序流程缺少什么,这意味着模式消息框会影响事件处理程序的位置?

public partial class ThisAddIn
{
    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        Application.Inspectors.NewInspector += Inspectors_NewInspector;
    }

    void Inspectors_NewInspector(Outlook.Inspector Inspector)
    {
        Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem;
        if (mailItem != null)
        {
            if (mailItem.EntryID == null)
            {
                mailItem.BeforeAttachmentAdd += mailItem_BeforeAttachmentAdd;
                //System.Windows.Forms.MessageBox.Show("Twice");
            }
        }
    }

    void mailItem_BeforeAttachmentAdd(Outlook.Attachment Attachment, ref bool Cancel)
    {
        Cancel = true;
    }

    private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
    {
    }
德米特里·斯特雷布琴科

引发事件的COM对象必须处于活动状态。在您的情况下,您使用的是多个点符号,并且编译器会创建一个隐式变量。一旦该变量被垃圾回收,它将停止触发事件。邮件项目的同上-您将需要捕获检查器。Close事件并从_mailItems列表中删除邮件;

public partial class ThisAddIn
{
    private Inspectors _inspectors;
    private List<MailItem> _mailItems = new List<MailItem>();

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        _inspectors = Application.Inspectors;
        _inspectors.NewInspector += Inspectors_NewInspector;
    }

    void Inspectors_NewInspector(Outlook.Inspector Inspector)
    {
        Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem;
        if (mailItem != null)
        {
            if (mailItem.EntryID == null)
            {
                _mailItems.Add(mailItem):
                mailItem.BeforeAttachmentAdd += mailItem_BeforeAttachmentAdd;
                //System.Windows.Forms.MessageBox.Show("Twice");
            }
        }
    }

    void mailItem_BeforeAttachmentAdd(Outlook.Attachment Attachment, ref bool Cancel)
    {
        Cancel = true;
    }

    private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
    {
    }

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

事件处理程序未添加到新的邮件项目

来自分类Dev

将事件处理程序添加到动态添加的MenuItem

来自分类Dev

将Outlook签名添加到新的邮件项目

来自分类Dev

将事件处理程序添加到AngularJS包含内容

来自分类Dev

将事件处理程序添加到数组

来自分类Dev

将事件处理程序添加到ImageButton

来自分类Dev

将事件处理程序添加到选定范围

来自分类Dev

将事件处理程序添加到 Html.CheckboxFor

来自分类Dev

将Postbuild事件添加到项目

来自分类Dev

如何将一个 DLL 编译按钮从一个 WPF 项目添加到另一个项目的事件处理程序?

来自分类Dev

将事件委托添加到ASP.NET用户控件的事件处理程序中

来自分类Dev

是否可以将本地事件处理程序添加到远程事件管理器

来自分类Dev

将事件处理程序添加到动态添加的span元素

来自分类Dev

未添加到列表的项目

来自分类Dev

当我将@action装饰器添加到React事件处理程序函数时,为什么组件未重新渲染

来自分类Dev

条带发票项目未添加到待处理发票中

来自分类Dev

如何在Windows Phone上将Click事件处理程序添加到TextBlock

来自分类Dev

jQuery将元素添加到先前定义的事件处理程序

来自分类Dev

如何将带有事件处理程序的按钮动态添加到表单?

来自分类Dev

将事件处理程序添加到OpenLayers 3中的功能?

来自分类Dev

如何将jquery ui事件处理程序动态添加到动态创建的按钮?

来自分类Dev

动态地将事件处理程序添加到React.DOM元素

来自分类Dev

ExtJS将事件处理程序动态添加到列编辑器

来自分类Dev

Google图表:如何将选择事件处理程序添加到饼图中?

来自分类Dev

在React中将事件处理程序添加到iframe中的特定类名

来自分类Dev

如何将Click事件处理程序添加到DataGrid上下文菜单?

来自分类Dev

如何正确地将事件处理程序添加到控件的EventHandlerList?

来自分类Dev

Dart HTML:将事件处理程序添加到尚不存在的对象

来自分类Dev

将事件处理程序动态添加到同时动态生成的href中

Related 相关文章

  1. 1

    事件处理程序未添加到新的邮件项目

  2. 2

    将事件处理程序添加到动态添加的MenuItem

  3. 3

    将Outlook签名添加到新的邮件项目

  4. 4

    将事件处理程序添加到AngularJS包含内容

  5. 5

    将事件处理程序添加到数组

  6. 6

    将事件处理程序添加到ImageButton

  7. 7

    将事件处理程序添加到选定范围

  8. 8

    将事件处理程序添加到 Html.CheckboxFor

  9. 9

    将Postbuild事件添加到项目

  10. 10

    如何将一个 DLL 编译按钮从一个 WPF 项目添加到另一个项目的事件处理程序?

  11. 11

    将事件委托添加到ASP.NET用户控件的事件处理程序中

  12. 12

    是否可以将本地事件处理程序添加到远程事件管理器

  13. 13

    将事件处理程序添加到动态添加的span元素

  14. 14

    未添加到列表的项目

  15. 15

    当我将@action装饰器添加到React事件处理程序函数时,为什么组件未重新渲染

  16. 16

    条带发票项目未添加到待处理发票中

  17. 17

    如何在Windows Phone上将Click事件处理程序添加到TextBlock

  18. 18

    jQuery将元素添加到先前定义的事件处理程序

  19. 19

    如何将带有事件处理程序的按钮动态添加到表单?

  20. 20

    将事件处理程序添加到OpenLayers 3中的功能?

  21. 21

    如何将jquery ui事件处理程序动态添加到动态创建的按钮?

  22. 22

    动态地将事件处理程序添加到React.DOM元素

  23. 23

    ExtJS将事件处理程序动态添加到列编辑器

  24. 24

    Google图表:如何将选择事件处理程序添加到饼图中?

  25. 25

    在React中将事件处理程序添加到iframe中的特定类名

  26. 26

    如何将Click事件处理程序添加到DataGrid上下文菜单?

  27. 27

    如何正确地将事件处理程序添加到控件的EventHandlerList?

  28. 28

    Dart HTML:将事件处理程序添加到尚不存在的对象

  29. 29

    将事件处理程序动态添加到同时动态生成的href中

热门标签

归档