我目前正在尝试让我的程序能够将文件拖放到 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