如何在两个节点和附加到新节点的所有子节点之间添加新节点

how to add new node between two node and all child attached to new node

我的树视图如下:

我想在使用插入方法添加新节点时将新节点从文本框添加到树视图,节点已添加但不在两个节点之间。

我想要在 1 和 1.1 集合之间添加 5,例如:

root>>1>>5>>1.1>>1.1.1>>...

(一棵树总有一个根) 我的代码是:

if (tvData.SelectedNode != null)
        {
            TreeNode tnm = tvData.SelectedNode;
            TreeNode tnn = new TreeNode(textBox1.Text);
            tvData.Nodes.Remove(tnm);
            tvData.Nodes.Insert(tnm.Index, tnn);
            tvData.Nodes.Insert(0,tnm);
        }

使用clone()解决 也许其他人会使用 it:X

TreeNode ctn, clonetn;
ctn = tvData.SelectedNode;
                clonetn = (TreeNode)ctn.Clone();
                tvData.Nodes.Remove(ctn);
                TreeNode tempnode = new TreeNode(comboBoxrole.Text);
                tvData.SelectedNode.Nodes.Add(tempnode);
                tvData.SelectedNode = tempnode;
                tvData.SelectedNode.Nodes.Insert(0, clonetn);