我使用Visual Studio 2013和Addin express v.7.7.4087开发了一个outlook。 我想处理ItemSend()并将项目保存到草稿并自动关闭检查器,除了关闭检查器之外我们可以做任何事情,因为不允许在ItemSend()方法内关闭检查器,我已经使用了一个windows.forms.timer(关闭定时器内的mailitem)来执行此操作但最终出现错误,其中显示“RCW内容已与............分离”错误
有没有其他方法可以做到这一点?
在兑换(对于展望)中,有没有办法做同样的事情?
private void adxOutlookAppEvents1_ItemSend(object sender, DXOlItemSendEventArgs e)
{
Outlook.MailItem mailItem = null;
Outlook.Recipients recipients = null;
mailItem = e.Item as Outlook.MailItem;
try
{
// Some code goes here
if (editButtonClicked || swOffline)
{
e.Cancel = true;
if (swOffline)
{
mailItem.Save();
timer.Start();
}
}
}
catch (Exception ex)
{
}
finally
{
}
}
答案 0 :(得分:1)
您使用什么代码关闭检查器窗口?你能更具体一点吗?
有没有其他方法可以做到这一点?
Inspector类的Close方法就像一个魅力。
在赎回(对于展望)中,有没有办法做同样的事情?
它没有为此提供任何东西。该库基于扩展MAPI,并且对Outlook UI一无所知。
答案 1 :(得分:1)
只要您保留在引用的MailItem对象中,计时器就可以正常工作。看起来你的mailItem变量是在本地级别声明的,它将被垃圾收集。