扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

c# treeview怎么快速删除空节点

扬州沐宇科技
2024-02-04 16:19:34
c#, treeview

在C#的TreeView控件中,可以使用递归的方式快速删除空节点。以下是一个示例代码:

private void RemoveEmptyNodes(TreeNodeCollection nodes)
{
    // 从后向前遍历节点集合,以便在移除空节点后索引不会变化
    for (int i = nodes.Count - 1; i >= 0; i--)
    {
        TreeNode node = nodes[i];
        
        // 递归删除子节点的空节点
        RemoveEmptyNodes(node.Nodes);
        
        // 如果当前节点是空节点,则移除
        if (node.Nodes.Count == 0)
        {
            nodes.Remove(node);
        }
    }
}

使用方法:

// 调用方法开始删除空节点
RemoveEmptyNodes(myTreeView.Nodes);

上述代码中,RemoveEmptyNodes方法接收一个TreeNodeCollection参数,表示要删除空节点的节点集合。在方法内部,首先使用递归的方式删除子节点的空节点,然后判断当前节点是否为空节点,如果是则将其从节点集合中移除。

扫码添加客服微信