c#中的TreeView和listview

问题描述 投票:0回答:2

我有一个TreeView,显示计算机上的所有文件夹。

如何查看TreeView中特定文件夹中的所有文件?

c# treeview
2个回答
0
投票

试试这个:

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;
    }

-1
投票

private void treeView1_MouseDoubleClick(object sender,MouseEventArgs e){

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

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

}

© www.soinside.com 2019 - 2024. All rights reserved.