2013-06-21 4 views
5

Я пытаюсь перетащить один или несколько файлов из моего приложения в почтовое сообщение Outlook. Если я перетащил на свой рабочий стол, файлы будут скопированы на рабочий стол, как ожидалось, но при перетаскивании в новое почтовое сообщение Outlook 2010 ничего не произойдет ... Только когда я явно перетаскиваю его в текстовое поле «вложения», они появляются, это не полезно, потому что вложение-текстовое поле по умолчанию не отображается.Как перетащить файлы из приложения C# winforms в сообщение Outlook

Я не понимаю, почему, когда я перетаскиваю файлы с моего рабочего стола на почту, я могу просто отбросить их, и текст вложения автоматически появится, показывая файлы, но когда я перетаскиваю его из своего приложения, он не работает. ., вот мой код:

«

private void Form1_MouseDown(object sender, MouseEventArgs e) 
    { 
     var _files = new string[] { @"E:\Temp\OR_rtftemplates.xml", @"E:\Temp\Tail.Web_Trace.cmd" }; 
     var fileDragData = new DataObject(DataFormats.FileDrop, _files); 

     (sender as Form).DoDragDrop(fileDragData, DragDropEffects.All); 

     Console.WriteLine("{0} - button1_MouseDown", DateTime.Now.TimeOfDay); 
    } 

»

Я также добавил файлы в DataObject с помощью метода «SetFileDropList», но это не имеет никакого значения.

Должно быть какое-то волшебное свойство, которое я должен установить, чтобы заставить это работать правильно с помощью Outlook-сообщения.

Я надеюсь, что кто-то может пролить свет на это.

спасибо, Jurjen.

+0

Что произойдет, если вы перетащите файл со своего рабочего стола (а не из приложения) в Outlook? – Sinatr

+0

, который работает просто отлично. – Jurjen

ответ

1

Я только что протестировал некоторые другие вещи на машине под управлением .NET 4.0 (приложение было скомпилировано в .NET 4.5), после изменения .NET-цели на 4.0 и перекомпиляции она действительно работает, перетаскивая файлы в новое сообщение Outlook, очень странно , может возникнуть проблема при переносе на .NET 4.5 позже ... но пока это работает ...