نمایش محتویات یک پوشه یا درایو در TreeView

برای نمایش زیر پوشه ها، فایل ها و در کل محتویات یک پوشه یا درایو در کنترل TreeView می توانید از متد زیر استفاده کنید :

private static void ListDirectory(TreeView treeView, string path)
{
    treeView.Nodes.Clear();

    var stack = new Stack<TreeNode>();
    var rootDirectory = new DirectoryInfo(path);
    var node = new TreeNode(rootDirectory.Name) { Tag = rootDirectory };
    stack.Push(node);

    while (stack.Count > 0)
    {
        var currentNode = stack.Pop();
        var directoryInfo = (DirectoryInfo)currentNode.Tag;
        foreach (var directory in directoryInfo.GetDirectories())
        {
            var childDirectoryNode = new TreeNode(directory.Name) { Tag = directory };
            currentNode.Nodes.Add(childDirectoryNode);
            stack.Push(childDirectoryNode);
        }
        foreach (var file in directoryInfo.GetFiles())
            currentNode.Nodes.Add(new TreeNode(file.Name));
    }

    treeView.Nodes.Add(node);
}

روش استفاده از آن هم به این صورت است که نام کنترل treeview و مسیر پوشه یا نام درایو را به صورت زیر به آن ارسال می کنیم :

ListDirectory(treeView1, @"E:\Software");

Directory-treeview