实现封装树节点拖拽操作的组件[原]

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


Demo下载: TreeViewDraperDemo

关于组件源代码请留下有效邮箱,我整理好后一起发给大家。