想选中一个treeView的一个节点然后点“移动”就移到另一个treeView里,这个节点的子节点也自动移过来

解决方案 »

  1.   

    删除的移动?如果是的话,可以如下:
    TreeNode tnSelect = yourTreeView1.SelectedNode;
    yourTreeView1.Nodes.Remove( tnSelect );
    yourTreeView2.SelectedNode.Nodes.Add( tnSelect );
      

  2.   

    if(this.treeView1.SelectedNode != null)
    {
    TreeNode tn = this.treeView1.SelectedNode;
    this.treeView1.SelectedNode.Remove();
    this.treeView2.Nodes.Add(tn);
    }
      

  3.   

    谢谢,longTea(乌龙茶) 的方法能实现我的功能,可是如果不想把一个节点移过去,只想把这个节点的一个子节点或多个子节点移过,longTea(乌龙茶) 的方法就好使了,请问应该怎么做呀,谢谢了,我在线等
      

  4.   

    试下这句
    foreach(TreeNode node in tn.nodes)
    {
        treeView1.Nodes.Remove(node);
    }
      

  5.   

    循环选中节点的子节点,然后将其添加到目标位置
    TreeNode tnNode = this.sourceTreeView.SelectedNode;
    TreeNode targetNode = this.targetTreeView.SelectedNode;
    foreach( TreeNode node in tnNode.Nodes )
    {
     targetNode.Nodes.Add( node );
    }
    for( int i = tnNode.Nodes.Count; i > 0; --i )
    {
     tnNode.Nodes[ i - 1 ].Remove();
    }
    以上代码未经测试。