Outlook 2010 DragDrop Bug

3 c# outlook-addin outlook-2010

我有一个Outlook 2010 Add-In当用户拖动并在下降电子邮件TreeViewListView.要获取这些电子邮件,我使用以下代码:

Outlook._Application myOlApp = new Outlook.ApplicationClass();
Outlook.Selection droppedMails = myOlApp.ActiveExplorer().Selection;
Run Code Online (Sandbox Code Playgroud)

问题是如果用户选择三个电子邮件,则lostMails将有三封电子邮件,但在第一次选择之后如果他选择一封,则lostMails将为四封.

我的问题是为什么myOlApp.ActiveExplorer().选择不是第二次清除?我必须发布Outlook对象吗?

编辑:

Outlook中的电子邮件预览也停止工作.因此,拖放后每个选定的电子邮件都不会更改预览.

当用户单击Outlook中的另一个文件夹时,问题将得到解决.

感谢您的时间.

小智 5

经过一些研究后,我发现问题是丢弃的电子邮件COM对象没有被释放.释放它们的最简单方法是e.Data.GetData("RenPrivateMessages");在完成拖放逻辑后调用该方法DragDrop Event Handler.