** 树节点移动操作 ** **
**
** ---- ** ** 使用微软 ** ** 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