首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么上下移动根节点

2012-01-24 
如何上下移动根节点上下移动普通节点都可以实现的,如下:#region上移下移节点privatevoidMoveNodesUp(boolb

如何上下移动根节点
上下移动普通节点都可以实现的,如下:
  #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];



                                                treeView1.SelectedNode.Remove();
                                                parentNode.Nodes.Insert(iNodeIndex,   tn);

                                                //移动之后要修改被其上一个或下一个节点的Dply_NO
                                                treeView1.SelectedNode   =   tn;

                                        }
                        }
                        else
                        {
                                MessageBox.Show( "没有选中节点或不可以移动此节点 ");

                        }
                }

那么移动根节点是如何实现的呢(因为它没有父节点,也不知道这个兄弟节点总共有多少个)我的想法是生成一个透明的根节点的根节点,这样可行吗

[解决办法]
什么意思?把树的根节点和某一个子节点交换吗?

热点排行