我有一个可以与Outlook 2010一起使用的解决方案,但是它不适用于Outlook 2016。 我将文件(pdf,doc,xls)从列表视图中拖放到Outlook中已经打开的电子邮件中。 如果我拖放操作,则可以从我的应用程序运行到Windows资源管理器。 我只有Outlook的问题!
在Outlook中,如果消息格式为HTML,则放下时什么也不会发生。如果格式是纯文本,则文件的完整路径将添加到邮件的正文中。
我使用Visual Studio 2013 .Net Framework 4.5
private void item_Drag(object sender, ItemDragEventArgs e)
{
ListView lvdd = (ListView)sender;
initDataDesFilesATransferer(lvdd);
}
private static void initDataDesFilesATransferer(ListView lvdd)
{
if (!verifSelectedItemExistent(lvdd))
return;
string[] nomDesFichiers = new String[lvdd.SelectedItems.Count];
int i = 0;
foreach (ListViewItem lvi in lvdd.SelectedItems)
{
nomDesFichiers[i] = lvi.SubItems[1].Text;
i++;
}
DataObject data = new DataObject(DataFormats.FileDrop, nomDesFichiers);
data.SetData(DataFormats.StringFormat, true, nomDesFichiers[0]);
lvdd.DoDragDrop(data, DragDropEffects.Move);
}
有人遇到过这个问题吗?它来自我的代码还是其他地方? 预先谢谢你。