选中TreeView的某节点,并加背景颜色
一:按钮事件,遍历所有节点
private void button2_Click(object sender, EventArgs e) { foreach (TreeNode n in TreeView1.Nodes) { ErgodicTreeView(n); } }
void ErgodicTreeView(TreeNode tn) { if (tn == null) return; //查找到某节点时 if (tn.Text.Equals("英山县")) { //遍历递归获取父节点,将父节点全部展开 prenode(tn); //选中某节点,并加背景颜色 TreeView1.SelectedNode = tn; TreeView1.SelectedNode.BackColor = System.Drawing.Color.Red; } foreach (TreeNode n in tn.Nodes) { ErgodicTreeView(n); } } void prenode(TreeNode m) { if (m.Parent.Text != null) { m.Parent.Expand(); //当为项级节点时 if (m.Parent.Level == 0) { m.Parent.Expand(); } //不是项级节点时 else { prenode(m.Parent); } } }
如图: