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

本文介绍如何使用ListBox和TreeView两个控件实现数据的拖拽功能。ListBox控件提供数据源,通过鼠标按下事件触发拖拽操作;TreeView控件则通过DragEnter和DragDrop事件接收数据,并将其添加为树节点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用到了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);
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值