Winform Treeview控件
手动加节点
//添加根节点,在根节点下面再加一个子节点
TreeNodeCollection Root = treeView1.Nodes;
TreeNode curNode = Root.Add("good");
curNode.Nodes.Add("hello");、
//操作完毕
丰富节点数据
//Tag属性就是专门放数据的object类型的
curNode.Tag = info;
清空所有节点信息
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;
}