C#的treeView中,怎样定位要进行查找的某一节点,也就是查找到某一节点时将treeview一直展开到查找到的节点。请问怎样写,谢谢!(WinForm中)

解决方案 »

  1.   


    TreeNode node =查找到的节点
    node.Parent.Expand();
      

  2.   

    用遍历查找
    查找到对该节点展开Node.Expand()
      

  3.   

    递归遍历
    private   void   SearchNode(TreeNodeCollection   tnds,string   text   )   
      {   
      foreach(TreeNode   tnd   in   tnds)   
      {   
      if(tnd.Text.Equlas(text))   
      {   
      MessageBox.Show(text);   
      break;   
      }   
      if(tnd.Nodes.Count!= 0)   
      {   
      SearchNode(tnd.Nodes,text);   
      }   
      }   
      }
      

  4.   

    遍历所有节点获得你要查找的某一节点,然后Node.Expand();
    /// <summary>
        /// 判断 TreeView 节点的Checkbox是否选中
        /// </summary>
        /// <param name="ds"></param>
        /// <param name="pnode"></param>
        public void CheckTreeNode(DataSet ds, TreeNodeCollection pnode)
        {
            if (ds != null && ds.Tables.Count > 0)
            {
                if (pnode != null)
                {
                    foreach (TreeNode node in pnode)
                    {
                        for(int i=0;i<ds.Tables[0].Rows.Count;i++)
                        {
                            if (node.Text.ToString() == ds.Tables[0].Rows[i]["PurName"].ToString())
                            {
                                //int Purid = Convert.ToInt32(ds.Tables[0].Rows[i]["PurId"].ToString());
                                    node.Checked = true;
                                CheckTreeNode(ds, node.ChildNodes);
                              
                            }
                       }
                    }
                }
            }
        }
    这段代码供LZ参考,是递归遍历所有节点。
      

  5.   

    给你个思路
    写一个递归方法,在此方法中查找你想要的节点
    找到节点后,查找该节点的父节点,并把父节点展开,直到父节点为null为止
      

  6.   

    string nodeName= this.treeView1.Nodes[0].Nodes[0].Nodes[0].Name; 
    (看看这个有用么):我是菜鸟一起学习