WinForm实现简单的拖拽功能(C#)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinForm实现简单的拖拽功能(C#)相关的知识,希望对你有一定的参考价值。

用到了ListBox和TreeView两个控件,ListBox作为数据源,通过拖拽其中的数据放置到TreeView上,自动添加一个树节点

    ListBox控件的MouseDown用于获取要拖拽的值并调用DoDragDrop方法

    private void listBox1_MouseDown(object sender, MouseEventArgs e)
        {
            //调用DoDragDrop方法
            if (this.listBox1.SelectedItem != null)
            {
                this.listBox1.DoDragDrop(this.listBox1.SelectedItem, DragDropEffects.Copy);
            }
        }

 

TreeView控件的DragEnter和DragDrop事件用于接收数据并添加为树节点

private void treeView1_DragEnter(object sender, DragEventArgs e)
        {
            //设置拖拽类型(这里是复制拖拽)
            e.Effect = DragDropEffects.Copy;
        }

        private void treeView1_DragDrop(object sender, DragEventArgs e)
        {
            //获取值
            string item = (string)e.Data.GetData(e.Data.GetFormats()[0]);

            this.treeView1.Nodes.Add(item);
        }

以上是关于WinForm实现简单的拖拽功能(C#)的主要内容,如果未能解决你的问题,请参考以下文章

通过 JS 实现简单的拖拽功能并且可以在特定元素上禁止拖拽

unity中实现物体的拖拽到指定位置的功能

vuejs2.0使用Sortable.js实现的拖拽功能( 转)

Html5 的拖拽功能

UWP的拖拽功能

JavaScript实现最简单的拖拽效果