日期:2014-05-18  浏览次数:20894 次

文件拖放并记录实际地址
需要一个文件拖放功能,选中文件拖放到列表中记录收集文件路径记录功能,如 记录文件位置如C:\aaa\bbb\a.cs 列表 。



------解决方案--------------------
记录文件路径的内容在Windows剪切板里面,在.net中通过Clipboard这个类可以得到,
其实过程是这样的,鼠标在拖动或者copy一个文件的时候,会把文件的一些信息放在剪切板里面,在释放或者粘贴的时候,就去读取剪切板的内容,来实现文件的copy或者其他操作。
------解决方案--------------------
列表(listbox)添加订阅两个事件:
1、DragEnter事件
private void listBox1_DragEnter(object sender, DragEventArgs e)
{ //
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{ //
e.Effect = DragDropEffects.Move;
}
else
{
e.Effect = DragDropEffects.None;
}
}
2、DragDrop事件
private void listBox1_DragDrop(object sender, DragEventArgs e)
{
string[] s = (string[])e.Data.GetData(DataFormats.FileDrop, false);
int i;
for (i = 0; i < s.Length; i++)
{
listBox1.Items.Add(s[i]);
}
}
3、记得将列表框控件的 AllowDrop 属性更改为 True。

------解决方案--------------------
靠怎么缩进全没了!