c# - 在 ListView C# 中拖放

标签 c# file listview drag-and-drop directory

<分区>

我目前正在尝试让我的程序能够将文件拖放到 ListView 中。我看过很多示例,其中大部分都有以下代码:

private void listView1_draganddrop(object sender,  DragEventArgs e)

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

另一个问题是在代码被实现后我无法将任何文件拖到 ListView 中。

我已经在我的 ListView 上启用了允许放置。所以我想知道我缺少什么来启用 C# 中的拖放功能以及如何编写拖放代码。

最佳答案

我在这里提供的答案相同:Drag and drop 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());
    }

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

关于c# - 在 ListView C# 中拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7142920/

相关文章:

c# - FindWindow 在当前上下文中不存在

c# - .NET WinForms 控件类

c# - 在派生类型上调用静态时是否可以检测类型

visual-studio-2010 - 重新关联 Visual Studio 2012 的文件类型

android - 如何使页脚可点击并在其上设置监听器?

c# - 在c#中将两个数据表添加到同一个excel工作表中

javascript - 你如何使用 html/javascript 逐行读取/解析文本文件?

java - 如何安全地读取Java中的属性文件?

c# - Xamarin 表格 : Grouping ObservableCollection

android - listView.setAdapter 这么卡?