2015-07-13 4 views
0

У меня есть плагин для Outlook с TreeView.Проблемы с API Outlook - перетаскивание

Я знаю, что, когда пользователь перетаскивает электронную почту, но я не знаю, как определить, когда пользователь перетаскивает папку

После идентификации объекта тащили, если это папка, будут сделаны шаги код ниже, чтобы получить CurrentFolder, передавая и публиковать для всех сообщений электронной почты в папке

Outlook.Application outlookApplication = Globals.ThisAddIn.Application; 
Outlook.Explorer outlookExplorer = (Outlook.Explorer)outlookApplication.ActiveExplorer(); 
Outlook.Selection selection = outlookExplorer.Selection; 
Outlook.Folder folder = (Outlook.Folder)outlookExplorer.CurrentFolder; 
Outlook.Items items = folder.Items; 
Outlook.MailItem mail = null; 

for (int i = 1; i <= items.Count; i++) 
{ 
    if (items[i] is Outlook.MailItem) 
    { 
     mail = (Outlook.MailItem)items[i]; 
     // Here I have all the mails and the plugin works to publish one or more mails like a Outlook.MailItems 
    } 
} 

Кто-то знает, как я могу исправить эту проблему?

ответ

0

Всем, я нашел очень уродливый способ решить проблему, но это то, что мне нужно.

В случае, если args существует много свойств, одно из которых появляется только при перетаскивании папки. Посмотрите код.

if (e.Data.GetDataPresent("UniformResourceLocator")) 
{ 
    // This step it's true only with a folder 
} 
else 
{ 
    // This step it's to others items like MailItem, ContactItem... 
} 

Когда-нибудь оно будет использовано для кого-то.

С уважением !!!

Смежные вопросы