我在Win7 64位机器上使用.NET 4.0
我在Outlook中单击电子邮件时尝试获取电子邮件详细信息。当我点击一封电子邮件时,我抓住了一个事件,通知我在ItemLoad(对象项)回调中点击/加载到内存中的新项目,但该参数为空,因为正如文档所述,此事件发生在Outlook项目开始加载到内存中,无法访问。
有没有办法访问与被点击的项目相关的数据?
我的代码:
m_oApp = new Outlook.Application();
.....
m_oApp.ItemLoad += m_oApp_ItemLoad;
.....
void m_oApp_ItemLoad(object Item)
{
//Outlook.MailItem mail = (Outlook.MailItem)Item;//Item here is a NULL object
}
答案 0 :(得分:1)
在ItemLoad事件处理程序中,您可以订阅项目级事件,例如Open,Read,ReadComplete等。
您可以考虑使用Explorer类的SelectionChange事件。当用户以编程方式选择不同的或附加的Microsoft Outlook项目或通过与用户界面交互时,它会被触发。当用户(以编程方式或通过用户界面)单击或切换到包含项目的其他文件夹时,也会发生此事件,因为Outlook会自动选择该文件夹中的第一个项目。