刚接触treeview这个功能,恶补了几天,博主总结下实现的功能以备用,希望能帮到需要的亲~~
C#gui程序中建立树状结构、遍历树状结构、树状结构节点选中联动(选中父节点时,自动选中其全部子节点,取消选中的某子节点,取消其相应的所有父节点的选中),读取选中节点信息。
0.最初的父节点建立
ParentNode = tv_user.Nodes.Add(OUname);
tv_user.CheckBoxes = true; //表示节点可以进行选中/取消选中操作
1、增加树的子节点
写了一个函数,(递归调用)实现无限级树结构
此代码是用于遍历AD域,然后输出某部门的树状组织结构
关于AD域请参考上篇文章:http://blog.csdn.net/heivy/article/details/53505916
ouName :是某部门名称
public void AddTree(TreeNode pNode, string ouName, DirectoryEntry objDE)
{
TreeNode pnode = pNode, cnode;
DirectorySearcher objSearch = new DirectorySearcher(objDE);
objSearch.Filter = "(&(objectClass=organizationalUnit)(ou=" + ouName + "))";
SearchResult objsearchResult = objSearch.FindOne();
DirectoryEntry objEntry = objsearchResult.GetDirectoryEntry();
foreach (DirectoryEntry entry in objEntry.Children)
{
//如果节点是组织单元(即部门ÿ