树节点移动操作----使用微软treeview控件[原创]

** 树节点移动操作 ** **

**

** ---- ** ** 使用微软 ** ** treeview ** ** 控件 ** **

**

作者: pfengk

MSN : [email protected]

更多文章请访问: http://www.cnblogs.com/pfengk/

** 目录 ** **

**

概述 ................................................................................................................................. 1

操作演示 .......................................................................................................................... 1

实现源码: [C#] ................................................................................................................ 2

概述

本文集中体现树节点移动实现代码其中很多其他代码省略。如果你对 treeview 控件不了解,请参阅我的另外一篇文章《 ** web 方式下权限分配简单实现 ** 》。

源码中引用命名空间 Microsoft.Web.UI.WebControls。

本文描述节点移动算法效率非常低下,仅仅适合于节点不多的情况下使用。还请高手们多多指教。联系我的msn,谢谢你们!

操作演示

** 窗体载入初始界面

**

050705007.JPG

050705007.JPG

** 选择节点之后

**

050705002.JPG

050705002.JPG

** 点击 [ ** ** 赋予 ] ** ** 按钮之后

**

050705003.JPG

050705003.JPG

** 再次点击 [ ** ** 赋予 ] ** ** 按钮之后

**

实现源码: [C#]

1 "一棵树到另一棵树的 节点移动方法" #region "一棵树到另一棵树的 节点移动方法"
2
3 /**/ ///

1<summary>   
24  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)   
35  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif) ///  从parentTreeView(森林)的所有根节点中查找childTreeNode是否存在(使用Text属性为关键字比较),存在返回true.   
46  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)   
57  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif) ///  </summary>

8
9 ///

1<param name="childTreeNode"/>

10
11 ///

1<param name="parentTreeNode"/>

12
13 ///

1<returns></returns>

14
15 public bool FindNodeFromChildNodes(TreeNode childTreeNode,TreeView parentTreeView)
16
17 {
18
19 bool returnValue = false ;
20
21
22
23 foreach (TreeNode tempTreeNode in parentTreeView.Nodes)
24
25 {
26
27 if (childTreeNode.Text == tempTreeNode.Text)
28
29 {
30
31 returnValue = true ;
32
33 break ;
34
35 }
36
37 }
38
39 return returnValue;
40
41 }
42
43
44
45 /**/ ///

1<summary>   
246  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)   
347  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif) ///  从parentTreeView(森林)的所有根节点中查找childTreeNode是否存在(使用Text属性为关键字比较),存在返回true.   
448  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)   
549  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif) ///  </summary>

50
51 ///

1<param name="childTreeNode"/>

52
53 ///

1<param name="parentTreeNode"/>

54
55 ///

1<returns></returns>

56
57 public bool FindNodeFromChildNodes(TreeNode childTreeNode,TreeView parentTreeView, ref TreeNode foundTreeNode)
58
59 {
60
61 bool returnValue = false ;
62
63
64
65 foreach (TreeNode tempTreeNode in parentTreeView.Nodes)
66
67 {
68
69 if (childTreeNode.Text == tempTreeNode.Text)
70
71 {
72
73 returnValue = true ;
74
75 foundTreeNode = tempTreeNode;
76
77 break ;
78
79 }
80
81 }
82
83 return returnValue;
84
85 }
86
87
88
89 /**/ ///

1<summary>   
290  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)   
391  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif) ///  从parentTreeNode(根节点)的所有节点中查找childTreeNode是否存在(使用Text属性为关键字比较),存在返回true.   
492  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)   
593  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif) ///  </summary>

94
95 ///

1<param name="childTreeNode"/>

96
97 ///

1<param name="parentTreeNode"/>

98
99 ///

1<returns></returns>

100
101 public bool FindNodeFromChildNodes(TreeNode childTreeNode,TreeNode parentTreeNode)
102
103 {
104
105 bool returnValue = false ;
106
107
108
109 foreach (TreeNode tempTreeNode in parentTreeNode.Nodes)
110
111 {
112
113 if (childTreeNode.Text == tempTreeNode.Text)
114
115 {
116
117 returnValue = true ;
118
119 break ;
120
121 }
122
123 }
124
125 return returnValue;
126
127 }
128
129
130
131 /**/ ///

1<summary>   
2132  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)   
3133  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif) ///  从parentTreeView(森林)的所有根节点中查找childTreeNode是否存在(使用Text属性为关键字比较),存在返回true.   
4134  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)   
5135  ![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif) ///  </summary>

136
137 ///

1<param name="childTreeNode"/>

138
139 ///

1<param name="parentTreeNode"/>

140
141 ///

1<returns></returns>

142
<span style="COLOR: #00

Published At
Categories with Web编程
Tagged with
comments powered by Disqus