【发布时间】:2011-05-20 20:23:57
【问题描述】:
我正在开发一个应用程序,它要求用户将文件从Windows Explorer 拖到应用程序窗口(@987654322@ 表单)。有没有办法在C#中读取文件的文件名、路径和其他属性?
【问题讨论】:
标签: c# winforms file drag-and-drop
我正在开发一个应用程序,它要求用户将文件从Windows Explorer 拖到应用程序窗口(@987654322@ 表单)。有没有办法在C#中读取文件的文件名、路径和其他属性?
【问题讨论】:
标签: c# winforms file drag-and-drop
您可以捕获 DragDrop 事件并从那里获取文件。比如:
void Form_DragDrop(object sender, DragEventArgs e)
{
string[] fileList = (string[])e.Data.GetData(DataFormats.FileDrop, false);
//more processing
}
【讨论】:
你应该使用两个事件 1) 拖放 2) 拖动输入
还将面板/表单的“AllowDrop”属性启用为true。
private void form_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = DragDropEffects.Copy;
}
else
{
e.Effect = DragDropEffects.None;
}
}
private void form_DragDrop(object sender, DragEventArgs e)
{
string[] filePaths= (string[])e.Data.GetData(DataFormats.FileDrop, false);
}
【讨论】: