2012-05-10 67 views
2

我有一个用C#编写的文档控制系统。从Outlook拖放到C#已经完成了一段时间。现在,许多文件是在C#应用程序,用户自然希望能够将其拖放到另一个方向我的文档控制系统展望下降从C#拖放到Outlook

由于文件存储在一个文件系统(而不是SQL数据库中的斑点),我已经让他们打开文件夹视图并从那里拖放。但是,这允许绕过文档管理系统的版本控制。

是否有一个拖放消息我可以构造,将通知Outlook的文件名和路径我下降?我怀疑已经完成了这项工作,但是我的搜索却被另一个方向的响应数量所淹没。

回答

3

从这里:

http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/f57ffd5d-0fe3-4f64-bfd6-428f58998603/

//put the file path is a string array 
string[] files = new String[1]; 
files[0] = @"C:\out.txt"; 

//create a dataobject holding this array as a filedrop 
DataObject data = new DataObject(DataFormats.FileDrop, files); 

//also add the selection as textdata 
data.SetData(DataFormats.StringFormat, files[0]); 

//do the dragdrop 
DoDragDrop(data, DragDropEffects.Copy); 
+0

好赫克,这看起来太简单了。我的文档和Google搜索失败...现在进行测试。 – Godeke

+0

工作就像一个魅力。谢谢。 – Godeke

+0

出于某种原因,虽然这工作拖放到桌面的VS调试和作为一个EXE,它只会作为一个EXE的Outlook工作。 (Win 8.1,VS2013,Outlook 2013) – peterG