最近在工作中遇到封装树结构的问题,其中比较棘手的问题之一就是要 封装树的拖拽 .经过多日的努力,到刚才为止终于基本成型,具体还会再进一步完善,但是作为参考示例已经足够了,趁着这会儿还不困,先把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下载:
关于组件源代码请留下有效邮箱,我整理好后一起发给大家。
本文转自Justin博客园博客,原文链接:http://www.cnblogs.com/justinw/archive/2006/04/27/386125.html,如需转载请自行联系原作者