如何实现treeview的查找和显示
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现treeview的查找和显示相关的知识,希望对你有一定的参考价值。
参考技术A /// <summary>/// 按钮事件
/// </summary>
private void button1_Click(object sender, EventArgs e)
//遍历Tree中的所有根节点
foreach (TreeNode node in this.tvList.Nodes)
//将每个根节点代入方法进行查找
TreeNode temp = FindNode(node, this.txtName.Text);
//找到输出结果
if (temp != null)
MessageBox.Show(string.Format("找到,深度0,索引1", temp.Level, temp.Index));
return;
MessageBox.Show("没有找到");
//递归查询,找到返回该节点
private TreeNode FindNode(TreeNode node, string name)
//接受返回的节点
TreeNode ret = null;
//循环查找
foreach (TreeNode temp in node.Nodes)
//是否有子节点
if (temp.Nodes.Count != 0)
//如果找到
if ((ret = FindNode(temp, name)) != null)
return ret;
//如果找到
if (string.Equals(temp.Text, name))
return temp;
return ret;
可以实现你的要求,可以参考下
在TreeView控件节点中显示图片
实现效果:
知识运用:
TreeView控件中Nodes集合的Add方法 //创建节点并将节点放入集合中
public virtual TreeNode Add (string key,string text,int imageIndex,int selectedImageIndex)
以及TreeView控件的ExpandAll方法 //可以展开TreeView控件中的所有树节点
public void ExpandAll()
public void CollapseAll() //折叠
实现代码:
private void button1_Click(object sender, EventArgs e) { treeView1.ImageList = imageList1; TreeNode nt = new TreeNode("公司职员",0,1); nt.Nodes.Add("name","小张",0,1); nt.Nodes.Add("name", "小刘", 0, 1); nt.Nodes.Add("name", "小李", 0, 1); nt.Nodes.Add("name", "小木", 0, 1); nt.Nodes.Add("name", "小胖", 0, 1); nt.Nodes.Add("name", "小虎", 0, 1); treeView1.Nodes.Add(nt); treeView1.ExpandAll(); // treeView1.CollapseAll(); }
以上是关于如何实现treeview的查找和显示的主要内容,如果未能解决你的问题,请参考以下文章
C#中如何实现TreeView控件选中根结点相应的子节点也选中,同时将信息相应的显示到DataGridView控件中。
vb 怎么实现 treeview部分节点的checkbox显示,部分隐藏