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

解决方案 »

  1.   

    记录文件路径的内容在Windows剪切板里面,在.net中通过Clipboard这个类可以得到,
    其实过程是这样的,鼠标在拖动或者copy一个文件的时候,会把文件的一些信息放在剪切板里面,在释放或者粘贴的时候,就去读取剪切板的内容,来实现文件的copy或者其他操作。
      

  2.   

    列表(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。