如何使用treeView列出子目录中的文件而不显示根目录?

这段代码工作正常:

private void Form1_Load(object sender, EventArgs e) { PopulateTree(@"C:\treeview", treeView1.Nodes.Add("I want to remove this node")); } public void PopulateTree(string dir, TreeNode node) { DirectoryInfo directory = new DirectoryInfo(dir); foreach (DirectoryInfo d in directory.GetDirectories()) { TreeNode t = new TreeNode(d.Name); PopulateTree(d.FullName, t); node.Nodes.Add(t); } foreach (FileInfo f in directory.GetFiles()) { TreeNode t = new TreeNode(f.Name); node.Nodes.Add(t); } } 

但是,我不想在子目录列表的顶部显示主(= root)目录(=文件夹),我只想显示图中所示的子目录。 在此处输入图像描述

试试这个:

 public void PopulateTree(string dir, TreeNode node) { DirectoryInfo directory = new DirectoryInfo(dir); foreach (DirectoryInfo d in directory.GetDirectories()) { TreeNode t = new TreeNode(d.Name); if (node != null) node.Nodes.Add(t); else treeView1.Nodes.Add(t); PopulateTree(d.FullName, t); } foreach (FileInfo f in directory.GetFiles()) { TreeNode t = new TreeNode(f.Name); if (node != null) node.Nodes.Add(t); else treeView1.Nodes.Add(t); } } private void Form1_Load(object sender, EventArgs e) { PopulateTree(@"C:\treeview", null); } 
  PopulateTree(@"C:\treeview", treeView1.Nodes); public void PopulateTree(string dir, TreeNodeCollection nodes) { DirectoryInfo directory = new DirectoryInfo(dir); foreach (DirectoryInfo d in directory.GetDirectories()) { TreeNode t = new TreeNode(d.Name); nodes.Add(t); PopulateTree(d.FullName, t.Nodes); } foreach (FileInfo f in directory.GetFiles()) { TreeNode t = new TreeNode(f.Name); nodes.Add(t); } }