** 树节点移动操作 ** **
**
** ---- ** ** 使用微软 ** ** treeview ** ** 控件 ** **
**
作者: pfengk
MSN : [email protected]
更多文章请访问: http://www.cnblogs.com/pfengk/
** 目录 ** **
**
概述 ................................................................................................................................. 1
操作演示 .......................................................................................................................... 1
实现源码: [C#] ................................................................................................................ 2
概述
本文集中体现树节点移动实现代码其中很多其他代码省略。如果你对 treeview 控件不了解,请参阅我的另外一篇文章《 ** web 方式下权限分配简单实现 ** 》。
源码中引用命名空间 Microsoft.Web.UI.WebControls。
本文描述节点移动算法效率非常低下,仅仅适合于节点不多的情况下使用。还请高手们多多指教。联系我的msn,谢谢你们!
操作演示
** 窗体载入初始界面
**
** 选择节点之后
**
** 点击 [ ** ** 赋予 ] ** ** 按钮之后
**
** 再次点击 [ ** ** 赋予 ] ** ** 按钮之后
**
实现源码: [C#]
1
"一棵树到另一棵树的 节点移动方法" #region "一棵树到另一棵树的 节点移动方法"
2
3
/**/ ///
1<summary>
24 
35  /// 从parentTreeView(森林)的所有根节点中查找childTreeNode是否存在(使用Text属性为关键字比较),存在返回true.
46 
57  /// </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 
347  /// 从parentTreeView(森林)的所有根节点中查找childTreeNode是否存在(使用Text属性为关键字比较),存在返回true.
448 
549  /// </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 
391  /// 从parentTreeNode(根节点)的所有节点中查找childTreeNode是否存在(使用Text属性为关键字比较),存在返回true.
492 
593  /// </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 
3133  /// 从parentTreeView(森林)的所有根节点中查找childTreeNode是否存在(使用Text属性为关键字比较),存在返回true.
4134 
5135  /// </summary>
136
137 ///
1<param name="childTreeNode"/>
138
139 ///
1<param name="parentTreeNode"/>
140
141 ///
1<returns></returns>
142
<span style="COLOR: #00