Set the property AllowDrop of the listview true,and try:private void listView1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop)) 
e.Effect = DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
}private void listView1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
Array a = (Array)e.Data.GetData(DataFormats.FileDrop);
if(a != null)
{   
this.listView1.Items.Add(new ListViewItem(a.GetValue(0).ToString()));//Do your work here
}
}

解决方案 »

  1.   

    to polarlm(polarlm):Thx! 惭愧ing~~~
      

  2.   

    msdn 中treeview中有个介绍拖放的,兄弟可以看看。
      

  3.   

    不错,问题解决了
    private void listView1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
    {
    string [] s= (string [])e.Data.GetData(DataFormats.FileDrop);
    其中s[0]就是文件名,但如何反过来用呢?也就是将我listview中的一个文件名提到桌面上,由windwos去处理,相对于winrar中将一个文件从压缩包中拖到磁盘上。
    }