简体   繁体   English

C#中的TreeView和ListView

[英]TreeView and listview in c#

I have a TreeView that shows all the folders on the computer. 我有一个TreeView,它显示计算机上的所有文件夹。

How can I see all the files within a particular folder that in the TreeView? 如何查看TreeView中特定文件夹中的所有文件?

try this: 尝试这个:

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

private void treeView1_MouseDoubleClick(object sender, MouseEventArgs e) { 私人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(); 

} }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM