C# 如何以编程方式重命名树视图子节点的文本

C# 如何以编程方式重命名树视图子节点的文本,c#,winforms,treeview,C#,Winforms,Treeview,大家好,我有一个树视图,如下所示 Root ->Child1 ->Child2 ->Child3 ->Child4 现在,如果我删除一个子节点,比如说Child1,那么我希望我的树视图如下所示 Root ->Child1 ->Child2 ->Child3 有什么想法吗…试试看 if(Treeview1.SelectedNode.Parent!=null) { Tr

大家好,我有一个
树视图
,如下所示

   Root
    ->Child1
    ->Child2
    ->Child3
    ->Child4
现在,如果我删除一个子节点,比如说
Child1
,那么我希望我的
树视图如下所示

   Root
    ->Child1
    ->Child2
    ->Child3
有什么想法吗…

试试看

 if(Treeview1.SelectedNode.Parent!=null)
    {
    Treeview1.SelectedNode.Text="New value";
    }
编辑:

void替换(树节点,字符串文本)
{
node.Text=文本;
对于(int i=0;i
试试看

编辑:

void替换(树节点,字符串文本)
{
node.Text=文本;
对于(int i=0;i
如果在删除节点后需要重命名剩余的子节点,那么我将添加一个名为RenameNodes的方法,该方法接受从中删除子节点的父节点;您将在删除子节点后立即调用此方法

// rename all child nodes within parent to "ChildX"
private void RenameNodes(TreeNode parent)
{
    for(int i = 0; i < parent.Nodes.Count; i++)
    {
        parent.Nodes[i].Text = "Child" + (i + 1).ToString();
    }
}
//将父节点中的所有子节点重命名为“ChildX”
私有void重命名节点(树节点父节点)
{
对于(int i=0;i
如果在删除节点后需要重命名剩余的子节点,那么我将添加一个名为RenameNodes的方法,该方法接受从中删除子节点的父节点;您将在删除子节点后立即调用此方法

// rename all child nodes within parent to "ChildX"
private void RenameNodes(TreeNode parent)
{
    for(int i = 0; i < parent.Nodes.Count; i++)
    {
        parent.Nodes[i].Text = "Child" + (i + 1).ToString();
    }
}
//将父节点中的所有子节点重命名为“ChildX”
私有void重命名节点(树节点父节点)
{
对于(int i=0;i
是否要删除或重命名节点?是否要移动某些名称后缀?请按照所述重命名。我已经删除了节点是否要删除或重命名节点?是否要移动一些名称后缀?按照所述重命名。我已经删除了node@User-可能需要编写递归重命名子节点的方法。使用HasChildren属性检查节点是否有子节点,并使用Nodes集合获取子节点列表。我可以像这样循环
foreach(tvwACH.SelectedNode.Nodes中的TreeNode节点){}
您需要通过for not foreach循环,因为foreach是只读的iterator@User-可能需要编写递归重命名子节点的方法。使用HasChildren属性检查节点是否有子节点,并使用Nodes集合获取子节点列表。我可以像这样循环
foreach(tvwACH.SelectedNode.Nodes中的TreeNode节点){}
您需要通过for not foreach循环,因为foreach是一个只读迭代器。我按照我的要求使用您的样本完成了此操作。我按照我的要求使用您的样本完成了此操作