拖放listview C#

Zi *_*ing 2 c# directory listview drag-and-drop file

我目前正试图让我的程序能够拖动文件并将其放入列表视图中.我看到很多样本,其中大部分都有以下代码:

private void listView1_draganddrop(object sender,  DragEventArgs e)
Run Code Online (Sandbox Code Playgroud)

然而,在我实现了这些代码后,我遇到了一些错误.首先是listview1_SelectedIndexChanged匹配委托系统事件处理程序没有重载

另一个问题是在代码被暗示后我无法将任何文件拖入listview.

我在listview上启用了允许删除功能.所以我想知道在c#中启用拖放功能我缺少什么以及如何编写拖放代码.

Jac*_*ble 5

我在这里提供的答案相同:拖放listview C#

您需要实现DragEnter事件并设置DragEventArgs的Effect属性.该dragEnter事件事件是什么让事情被投进控制.之后,释放鼠标按钮时将触发DragDrop事件.

这是一个允许将对象放入ListView的版本:

    private void Form1_Load(object sender, EventArgs e)
    {
        listView1.AllowDrop = true;
        listView1.DragDrop += new DragEventHandler(listView1_DragDrop);
        listView1.DragEnter += new DragEventHandler(listView1_DragEnter);
    }

    void listView1_DragEnter(object sender, DragEventArgs e)
    {
        e.Effect = DragDropEffects.Copy;
    }

    void listView1_DragDrop(object sender, DragEventArgs e)
    {
        listView1.Items.Add(e.Data.ToString());
    }
Run Code Online (Sandbox Code Playgroud)

毫无疑问,您的示例代码取自:http://msdn.microsoft.com/en-us/library/system.windows.forms.control.allowdrop(v = vs.71).aspx