实现封装树节点拖拽操作的组件[原]
最近在工作中遇到封装树结构的问题,其中比较棘手的问题之一就是要封装树的拖拽.经过多日的努力,到刚才为止终于基本成型,具体还会再进一步完善,但是作为参考示例已经足够了,趁着这会儿还不困,先把Demo传上来大家用用看,回头把代码整理后再配合详细文章一起发布.
使用十分简单,参考实例即可.(该程序使用C#/VS2005编译通过)

只要几行代码即可,如下:
使用十分简单,参考实例即可.(该程序使用C#/VS2005编译通过)
只要几行代码即可,如下:
1
public Form1()
2
{
3
InitializeComponent();
4
Init();
5
}
6
7
private void Init()
8
{
9
TreeViewDrager treeViewDrager = new TreeViewDrager(this.treeView1);
10
treeViewDrager.TreeImageList = this.imageList1;//不设置这个也可以,只是拖动的时候没图标。
11
treeViewDrager.ProcessDragNode += new ProcessDragNodeEventHandler(treeViewDrager_ProcessDragNode);
12
}
13
14
private bool treeViewDrager_ProcessDragNode(TreeNode from, TreeNode to)
15
{
16
///这里根据from/to两个节点记录的信息去进行数据库持久化的工作。
17
///根据持久化的结果决定节点是否会最终实现拖动操作。
18
///return false;-持久化失败,给出提示,不能完成拖动操作。
19
return true;
20
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

Demo下载: TreeViewDraperDemo
关于组件源代码请留下有效邮箱,我整理好后一起发给大家。
作者:Justin
出处:http://justinw.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://justinw.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!