日期:2014-05-19  浏览次数:20980 次

如何上下移动根节点
上下移动普通节点都可以实现的,如下:
  #region   上移下移节点
                private   void   MoveNodesUp(bool   bUp)       //上移下移函数
                {
                        if   (treeView1.SelectedNode   !=   null   &&   treeView1.SelectedNode.Parent   !=   null)
                        {
                                TreeNode   tn   =   treeView1.SelectedNode;
                                int   iTotolNodes   =   tn.Parent.Nodes.Count;//看本级节点一共有多少个

                                int   iNodeIndex   =   treeView1.SelectedNode.Index;//本节点的Index
                                TreeNode   parentNode   =   tn.Parent;                             //父节点    

                                if   (iNodeIndex   ==   0   &&   bUp)
                                {
                                        MessageBox.Show( "本节点已经是本级第一个节点了,不可以再上移了 ");
                                }
                                else
                                        if   (iNodeIndex   ==   iTotolNodes   -   1   &&   !bUp)
                                        {
                                                MessageBox.Show( "本节点已经是本级最后一个节点了,不可以再下移了 ");
                                        }
                                        else
                                        {//移动的节点      

                                                iNodeIndex   =   (bUp   ?   iNodeIndex   -   1   :   iNodeIndex   +   1);//如果上移就-1

                                                //     TreeNode   neighborNode   =   parentNode.Nodes[iNodeIndex];