vs2005的treeview控件中,删除一个节点后,自动选中本层中的上一个节点,如果同级节点没有,就选中其父节点,怎么实现?

解决方案 »

  1.   

      Public Sub delnode(ByVal tree As TreeView, ByVal node As TreeNode)
            Dim pnode As TreeNode = node.PrevNode
            If Not pnode Is Nothing Then
                tree.SelectedNode = pnode
                node.Parent.Nodes.Remove(node)
            Else
                pnode = node.Parent
                If Not pnode Is Nothing Then
                    tree.SelectedNode = pnode
                    node.Parent.Nodes.Remove(node)
                Else
                    tree.Nodes.Remove(node)
                End If
            End If
        End Sub
      

  2.   

    up估计楼主还是想要 C#的。呵呵。
      

  3.   

    楼上真是善解人意啊,我确实要C#的.
    Dim pnode As TreeNode = node.PrevNode //在vs2005中,节点没有PrevNode这个属性啊
      

  4.   

    我用的也是2005,vb.net中有这个的,c#还在学习中,呵呵
      

  5.   

    Public void delnode(TreeView tree, TreeNode node)
    {
    TreeNode preNode = node.PrevNode
    if(preNode == null)
       preNode = node.Parent
    tree.selectednode=preNode;
    tree.nodes.remove(node);}
      

  6.   

    我试了下,有这个属性啊         private void delnode( TreeView tree,  TreeNode node)
        {
             TreeNode pnode ;
            pnode = node.PrevNode;
        }   
      

  7.   


    private void DelNode(TreeView t, TreeNode tn)
            {
                TreeNode preNode = tn.PrevNode;
                if (preNode == null)
                    preNode = tn.Parent;
                if (preNode == null)
                    return;
                t.SelectedNode = preNode;
                t.Nodes.Remove(tn);
            }
      

  8.   

    对我这个c#新手来说,转换还真不易,呵呵
    private void delnode( TreeView tree,  TreeNode node)
             {
                 TreeNode pnode ;
                 pnode = node.PrevNode;
                 if (pnode!= Null)
                 {
                     tree.SelectedNode = pnode;
                     node.Parent.Nodes.Remove(node);
                 }
                 else
                 {
                     pnode = node.Parent;
                     if (pnode!= Null)
                     {
                         tree.SelectedNode = pnode;
                         node.Parent.Nodes.Remove(node);
                     }
                     else
                     {
                         tree.Nodes.Remove(node);
                     }
                 }
             } 
      

  9.   

    我是用vs2005开发asp.net的web项目,我刚才试了,没有节点没有PrevNode这个属性.