请问各位高手 我下面这段代码 要如何修改能解决  代码的冗余问题   下面是我自己写的一段节点的上移下移方法 //使菜单上移或下移
    private void MoveMenu(string moveValue)
    {
        if (moveValue == "up")
        {
            TreeNodeCollection tns = tvAllMenu.Nodes;//获取根节点集合
            if (tvAllMenu.SelectedNode.Parent == null)//判断是否有父节点
            {
                int index = tns.IndexOf(tvAllMenu.SelectedNode);//所选节点的索引
                if (index == 0)
                {
                    ScriptManager.RegisterClientScriptBlock(this.btnMoveUp, typeof(Button), "moveUp", "alert('已经是最顶层!')", true);
                    return;
                }
                tns.AddAt(index - 1, tvAllMenu.SelectedNode);
                return;
            }
            if (tvAllMenu.SelectedNode.Parent != null)
            {
                for (int i = 0; i < tns.Count; i++)
                {
                    TreeNode tn = tns[i];
                    if (tvAllMenu.SelectedNode.Parent == tn)
                    {
                        TreeNodeCollection childTnc = tn.ChildNodes;
                        int index = childTnc.IndexOf(tvAllMenu.SelectedNode);
                        if (index == 0)
                        {
                            ScriptManager.RegisterClientScriptBlock(this.btnMoveUp, typeof(Button), "moveUp", "alert('已经是最顶层!')", true);
                            return;
                        }
                        childTnc.AddAt(index - 1, tvAllMenu.SelectedNode);
                        break;
                    }
                }
            }
        }
        else if (moveValue == "down")
        {
            TreeNodeCollection tns = tvAllMenu.Nodes;
            if (tvAllMenu.SelectedNode.Parent == null)
            {
                int index = tns.IndexOf(tvAllMenu.SelectedNode);
                if (index == tns.Count - 1)
                {
                    ScriptManager.RegisterClientScriptBlock(this.btnMoveDown, typeof(Button), "moveDown", "alert('已经是最底层!')", true);
                    return;
                }
                tns.AddAt(index + 1, tvAllMenu.SelectedNode);
                return;
            }
            if (tvAllMenu.SelectedNode.Parent != null)
            {
                for (int i = 0; i < tns.Count; i++)
                {
                    TreeNode tn = tns[i];
                    if (tvAllMenu.SelectedNode.Parent == tn)
                    {
                        TreeNodeCollection childTnc = tn.ChildNodes;
                        int index = childTnc.IndexOf(tvAllMenu.SelectedNode);
                        if (index == childTnc.Count - 1)
                        {
                            ScriptManager.RegisterClientScriptBlock(this.btnMoveDown, typeof(Button), "moveDown", "alert('已经是最底层!')", true);
                            return;
                        }
                        childTnc.AddAt(index + 1, tvAllMenu.SelectedNode);
                        break;
                    }
                }
            }
        }
    }