Hero is coming back

风吹呀吹

风会指引你前进的方向

C# Winform Treeview控件

Winform Treeview控件

手动加节点
	//添加根节点,在根节点下面再加一个子节点
	TreeNodeCollection Root = treeView1.Nodes;
	TreeNode curNode = Root.Add("good");
	curNode.Nodes.Add("hello");、
	//操作完毕
丰富节点数据
	//Tag属性就是专门放数据的object类型的
	curNode.Tag = info;            

Object存取数据CLICK

清空所有节点信息

TreeView.Nodes.Clear();

选中指定节点

TreeView.SelectedNode = node;


Function《自己写的一些方法,帮助使用》

GetAllTreeNode

功能:获取TreeView控件所有的节点
想法:使用DFS广度优先搜索算法进行遍历,目的是返回List《TreeNode》集合,方便后面使用List方法进行节点搜索
其他实现方法:BFS深度优先也可以,使用递归遍历。

        private List<TreeNode> GetAllTreeNode(TreeNodeCollection Root)
        {
            Queue<TreeNode> q = new Queue<TreeNode>();
            List<TreeNode> CollectionTree = new List<TreeNode>();
            q.Enqueue(Root[0]);
            while (q.Any())
            {
                int size = q.Count;
                for (int i = 0; i < size; i++)
                {
                    TreeNode curNode = q.Peek();
                    CollectionTree.Add(curNode);
                    foreach (TreeNode nodechild in curNode.Nodes)
                    {
                        q.Enqueue(nodechild);
                    }
                    q.Dequeue();
                }
            }
            return CollectionTree;
        }
posted @ 2020-07-02 22:36  风吹呀吹  阅读(491)  评论(0编辑  收藏  举报