你 漏了一个return
应该是:
       private TreeNode GetTopNode(TreeNode Node)
        {
            if (Node.Parent == null) 
            {
                return Node;                
            }
            else
            {
                return GetTopNode(Node.Parent);
            }           
        }

解决方案 »

  1.   

    jieyf(天马行空) 说得对不过这样的情况你不需要用递归的。
    while(node.Parent!=null)
    {
      node= node.Parent;
    }
    就得到根节点了。递归用在遍历目录树这样的操作比较好。你的操作是单线的就用while。
      

  2.   

    楼上的都对,你这样得到的是根结点
    ================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]
      

  3.   

    你差了一个 return 啊,你编译的时候能通过吗?