TreeView и просмотр списка в c # - PullRequest
0 голосов
/ 24 февраля 2019

У меня есть TreeView, который показывает все папки на компьютере.

Как я могу увидеть все файлы в определенной папке в TreeView?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

попробуйте это:

private void button1_Click(object sender, EventArgs e)
    {
        treeView1.ShowNodeToolTips = true;
        DirectoryInfo d = new DirectoryInfo("C:\\projects");
        GetAllDirectories(d, null);
    }

    void GetAllDirectories(DirectoryInfo d, TreeNode nodeToAddChilds)
    {
        if (treeView1.Nodes.Count == 0)
        {
            TreeNode root = new TreeNode();
            root.ToolTipText = GetFileNames(d);
            root.Text = d.Name;
            treeView1.Nodes.Add(root);
            nodeToAddChilds = root;
        }
        DirectoryInfo[] dirList = d.GetDirectories();
        foreach (DirectoryInfo oneDir in dirList)
        {
            if (oneDir.Name.StartsWith("$"))
            {
                // Just to avoid system permission limitations
                continue;
            }
            TreeNode newChild = new TreeNode();
            newChild.ToolTipText = GetFileNames(oneDir);
            newChild.Text = oneDir.Name;
            nodeToAddChilds.Nodes.Add(newChild);
            GetAllDirectories(oneDir, newChild);
        }
    }

    string GetFileNames(DirectoryInfo d)
    {
        string files = "files:\r\n";
        FileInfo[] allFiles = d.GetFiles();
        foreach (FileInfo oneFile in allFiles)
        {
            files += oneFile.Name + "\r\n";
        }
        return files;
    }
0 голосов
/ 24 февраля 2019

private void treeView1_MouseDoubleClick (отправитель объекта, MouseEventArgs e) {

// Get the selected node.
TreeNode node = treeView1.SelectedNode;

DirectoryInfo d = new DirectoryInfo(node.text);
FileInfo[] Files = d.GetFiles(); 

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...