do while (tempNode.parent is not null)
试试。

解决方案 »

  1.   

    谢谢上面的仁兄,这都不行的,我看了
    TreeNode parent_node;
    if(node.Parent is TreeNode)
    parent_node=(TreeNode)node.Parent;
    else
    {
    //node is root node
    }
    //孩子节点不知道可不可以这个问题也就是如何判断第一个根接点的问题,我知道一个孩子的ID,要求展开它所有的父接点)
      

  2.   

    我有一个变通的办法:在插第一个根结点时将该结点的tag的值设为“******”
    然后在循环中判断出该结算是否为第一个根结点。
    这样是可行,其他的方法再想想。
      

  3.   

    懒得写了,说一下吧
    比如节点索引index为"0.1.3.2"
    则有三个父节点(count=index.Length-index.Replace(".","").Length;)
    第一个索引为0
    第二个索引为0.1
    ……
      

  4.   

    我找到了解决办法在论坛上看的用下面的方法解决
    do while typeof(Node.parent) is treenode
       tempNode.expanded= true
       tempNode = temNode.parent
    loop上班的方法就可以找到子接点上的所有父接点,并且展开。如果有什么问题请与我联系。
    QQ:13465018
      

  5.   

    参考这个:http://www.9499.net?go=tc
      

  6.   

    if(node.Parent is TreeNode)
    parent_node=(TreeNode)node.Parent;
    可以得
      

  7.   

    将子节点的父节点实例化
    TreeNode pnode=((Microsoft.Web.UI.WebControls.TreeNode)cnode.Parent);
    cnode 为已知子节点,pnode为cnode的父节点