3

ユーザーがまたはOutlook 2010 Add-Inにメールをドラッグアンドドロップする場所があります。これらの電子メールを取得するために、私は次のコードを使用しています。TreeViewListView

Outlook._Application myOlApp = new Outlook.ApplicationClass();
Outlook.Selection droppedMails = myOlApp.ActiveExplorer().Selection;

問題は、ユーザーがたとえば3つの電子メールを選択した場合、droppedMailには3つの電子メールが含まれますが、最初の選択後に1つを選択すると、droppedMailは4つになります。

私の質問は、myOlApp.ActiveExplorer()。Selectionが2回目にクリアされない理由です。Outlookオブジェクトを解放する必要がありますか?

編集:

Outlookの電子メールプレビューも機能しなくなります。したがって、ドラッグアンドドロップ後に選択したすべての電子メールはプレビューを変更しません。

ユーザーがOutlookの別のフォルダをクリックすると、問題は解決します。

お時間をいただきありがとうございます。

4

1 に答える 1

5

いくつかの調査の結果、問題は、ドロップされた電子メールCOMオブジェクトが解放されていないことであることがわかりました。e.Data.GetData("RenPrivateMessages");それらを解放する最も簡単な方法は、のドラッグアンドドロップロジックを終了した後にメソッドを呼び出すことDragDrop Event Handlerです。

于 2012-05-28T12:34:18.290 に答える