|
在TextBox上实现了文件的拖拽和路径的获取源代码如下:
private void Form1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = DragDropEffects.Link; //重要代码:表明是链接类型的数据,比如文件路径
else e.Effect = DragDropEffects.None;
}
private void Form1_DragDrop(object sender, DragEventArgs e)
{
string path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
MessageBox.Show(path);
}
但我想问的是能不能实现同时拖动多个文件到TextBox框中,并获取每个文件的路径,我记得有的应用程序是能这样做的,但不知使用C# winform怎么实现??? |
|
| 10分 |
string path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
本来就是拖进来了多个,但你却只处理了一个 var a = ((System.Array)e.Data.GetData(DataFormats.FileDrop));
for(int i=0; i<a.Length; i++) {
MessageBox.Show(a.GetValue(i).ToString());
}
|
| 10分 |
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
for (int i = 0; i < files.Length; i++)
{
}
|
|
多谢回答,的确是这样,开始写错了,加了一个GetValue(0),使用循环时一直提示string不能转换为string[],看来我应该多尝试一下。。。 |
|