天天看点

C#——TreeView节点的添加

遍历深度不一的路径,为TreeView添加节点的回调函数:

private void ExpendTree(string path, TreeNode tn)
    {
        string[] dirs = Directory.GetDirectories(path);
        TreeNode subNode = new TreeNode();
        foreach (string subP in dirs)
        {
            string fName = Path.GetFileName(subP);
            subNode = new TreeNode(fName);
            tn.Nodes.Add(subNode);
            ExpendTree(subP, subNode);
        }
        string[] rfaFiles = Directory.GetFiles(path, "*.rfa");
        foreach (var rfas in rfaFiles)
        {
            string rName = Path.GetFileName(rfas);
            TreeNode node = new TreeNode(rName);
            TreeNodeMember member = new TreeNodeMember(rfas, rName);
            node.Tag = member;
            tn.Nodes.Add(node);
        }
    }
	public class TreeNodeMember
{
    public string FullPath;
    public string Name;

    public TreeNodeMember(string path, string name)
    {
        FullPath = path;
        Name = name;
    }
}