拖放的ListView C# [英] Drag and drop listview C#

查看:150
本文介绍了拖放的ListView C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨如何启用拖动事件处理函数时我双击列表视图?



这是我的列表视图

双击后得到

 私人无效ListView1的(对象发件人,EventArgs五)

不过,我希望它是

 私人无效的ListView(对象发件人,DragEventArgs E) 

如何我这样做..?



我已经尝试了许多方法,如:

 私人无效的Form_Load(对象发件人,EventArgs五)
{
//启用拖放进行这种形式的
//(这也可以适用于任何控件)
this.AllowDrop = TRUE;

//添加事件处理程序拖放放大器;拖放功能
this.DragEnter + =新DragEventHandler(Form_DragEnter);
this.DragDrop + =新DragEventHandler(Form_DragDrop);
}


解决方案

您需要实施< STRONG>的dragenter 事件并设置DragEventArgs效应财产。在的dragenter 活动是允许的事情被投进控制。之后,在的DragDrop 鼠标按钮被释放时事件将触发。 。



下面是一个版本,将允许物体投进一个ListView:

 私人无效Form1_Load的(对象发件人,EventArgs五)
{
listView1.AllowDrop = TRUE;
listView1.DragDrop + =新DragEventHandler(listView1_DragDrop);
listView1.DragEnter + =新DragEventHandler(listView1_DragEnter);
}

无效listView1_DragEnter(对象发件人,DragEventArgs E)
{
e.Effect = DragDropEffects.Copy;
}

无效listView1_DragDrop(对象发件人,DragEventArgs E)
{
listView1.Items.Add(e.Data.ToString());
}



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


Hi how to I enable drag event handler when I double click on the listview?

This is what I get after double-clicking on the listview

private void listView1(object sender, EventArgs e)

However, I want it to be

private void listView(object sender,DragEventArgs e)

How to I do it..?

I have tried many way such as:

  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);
 }

解决方案

You need to implement the DragEnter event and set the Effect property of the DragEventArgs. The DragEnter event is what allows things to be dropped into a control. After that the DragDrop event will fire when the mouse button is released.

Here is a version that will allow objects to be dropped into the a 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());
    }

No doubt your sample code was taken from : http://msdn.microsoft.com/en-us/library/system.windows.forms.control.allowdrop(v=vs.71).aspx

这篇关于拖放的ListView C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆