请教高手,
当子节点全部删除后,父节点也要跟着删除要怎么实现。

解决方案 »

  1.   

    if(xxNode.ChildNodes.Count ==0)
    xxNode.ParentNode.RemoveChild(xxNode);
      

  2.   

    但,我的threeView里没有"ChildNodes"这个属性啊。
      

  3.   

    ChildNodes是treenode的属性
    你在节点的删除事件中检查一下父节点还有没有子节点
      

  4.   

    谢谢各位
    我先说明一下,我是在一个按钮事件进行对TreeView里的节点进行删除的。
      

  5.   

    int a=node.GetNodeCount(true);//获得你所要删除的节点的所有字节点个数
    if(a==0)
    {
    MessageBox.Show("删除");
    }
      

  6.   

    int a=node.GetNodeCount(false);
    订正一下
      

  7.   

    参数true表示获得包含你所要删除节点在内的其子树节点
    false表示不包含该节点,仅仅是其子树节点的个数
      

  8.   

    不是吧?
    msdn上是这样说的:true if the resulting count includes all tree nodes indirectly rooted at this tree node; otherwise, false.
    那么应该是true表示所有子节点的数目,包括子节点的字节点
    false表示只计算第一层子节点
      

  9.   

    TreeNode tn = tv_SelectedGistItem.SelectedNode;
    TreeNode tnParent = tn.Parent;
    tn.Remove();//如果删除了最后一个子节点,把根节点也一起删除
    if ( tnParent.Nodes.Count == 0 )
    tnParent.Remove();
      

  10.   

    谢谢各位帮忙的高手,问题解决了,用国际巨星(Michael_Jackson(麦克尔★杰克逊))的方法。
    对于我的提出的问题,也许有一点没和大家说清楚,节点的数据虽然是从数据库读出来的,但对节点的操作不与数据库交互,也就是无论怎样删除节点都好,都不会影响到数据库里的数据。