C# 即使在Outlook中,如何附加到BeforeAttachmentRead?
我想在用户在Outlook中查看附件之前采取一些措施,并想在VSTO插件中挂接C# 即使在Outlook中,如何附加到BeforeAttachmentRead?,c#,event-handling,vsto,outlook-addin,outlook-2010,C#,Event Handling,Vsto,Outlook Addin,Outlook 2010,我想在用户在Outlook中查看附件之前采取一些措施,并想在VSTO插件中挂接beforeattachmentrad事件。我看到一些代码在收件箱中迭代并将事件添加到每个邮件项中: foreach (object o in inbox.Items) { mailItem = o as Outlook.MailItem; ... ((Outlook.ItemEvents_10_Event)mailItem).BeforeAttachmentRead += new Outlook.ItemEve
beforeattachmentrad
事件。我看到一些代码在收件箱中迭代并将事件添加到每个邮件项中
:
foreach (object o in inbox.Items)
{
mailItem = o as Outlook.MailItem;
...
((Outlook.ItemEvents_10_Event)mailItem).BeforeAttachmentRead += new Outlook.ItemEvents_10_BeforeAttachmentReadEventHandler(MailItem_BeforeAttachmentRead);
}
但这对我来说似乎效率很低(收件箱中的子文件夹呢?)
是否有更有效的方法响应AttachmentRead之前的事件
但这对我来说似乎效率很低(收件箱中的子文件夹呢?)
我同意会的
我建议。现在,每当用户选择某个内容时,您可以检查它是否是邮件项(可以是其他内容),然后订阅BeforeAttachmentRead事件。你可以检查一下。如果邮件项目没有附件,则您无事可做
其他一些需要检查的东西
检查Explorer CurrentFolder.WebViewOn是否为false李>
检查选择计数-您只想在选择计数为1时执行某些操作
用户可以选择许多不同的东西。在进行选择前,请检查它的类型是否为Outlook.MailItem