拖放listview C#

您好,当我双击listview时,如何启用拖动事件处理程序?

这是双击列表视图后得到的结果

private void listView1(object sender, EventArgs e) 

但是,我希望它是

 private void listView(object sender,DragEventArgs e) 

我该怎么做..?

我尝试了很多方法,例如:

  private void Form_Load(object sender, EventArgs e) { // Enable drag and drop for this form // (this can also be applied to any controls) this.AllowDrop = true; // Add event handlers for the drag & drop functionality this.DragEnter += new DragEventHandler(Form_DragEnter); this.DragDrop += new DragEventHandler(Form_DragDrop); } 

您需要实现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