【发布时间】:2012-03-06 15:53:04
【问题描述】:
我到处都看到了这种情况并尝试了所有解决方案,但似乎没有得到我想要的。我希望能够将文件从资源管理器拖放到 ListView 上,然后能够通过拖放对它们进行排序。我有这个从资源管理器中获取拖放的简单代码。
this.messageView.AllowDrop = true;
this.messageView.Location = new System.Drawing.Point(12, 52);
this.messageView.Name = "messageGrid";
this.messageView.Size = new System.Drawing.Size(121, 97);
this.messageView.TabIndex = 3;
this.messageView.UseCompatibleStateImageBehavior = false;
this.messageView.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
this.messageView.DragEnter += new System.Windows.Forms.DragEventHandler(this.Form1_DragEnter);
和处理程序
private void Form1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent("FileGroupDescriptor"))
{
e.Effect = DragDropEffects.All;
}
}
private void Form1_DragDrop(object sender, DragEventArgs e)
{
messageView.Items.Add(e.Data.ToString());
}
这很奇怪,因为我将 messageView 更改为我的表单上的 RichTextBox,它工作得很好。我还需要执行其他步骤吗?当我尝试放到 ListView 上时,我从资源管理器中得到一个带有一条线的圆圈。任何帮助,将不胜感激。谢谢。
【问题讨论】:
标签: c# listview drag-and-drop