诚心请教:C#.net中 如何将本地某一文件夹下的所有文件加到TreeView上?
诚心请教:C#.net中 如何将本地某一文件夹下的所有文件加到TreeView上?
directory类和递归的方法用不好,哪位大侠能指点迷津?不胜感激!
------解决方案--------------------取出文件夹下所有文件的方法:
           string strPath = "";//文件夹路径
           string[] MyFile = System.IO.Directory.GetFiles(strPath);
然后你再把MyFile里的字符串添到TreeView上就好了
------解决方案--------------------           string[] MyFile = System.IO.Directory.GetFiles(@"E:\");  
          List< TreeNode> tnlist=new  List<TreeNode> ();
          foreach (string mfile in MyFile)  
          {
              tnlist.Add(new TreeNode(mfile));
          }
          treeView1.Nodes.AddRange(tnlist.ToArray());
这就是楼上的意思
------解决方案--------------------不过如果目录下还有子目录的话`
 还要用递归的方法 获得所有文件。。
------解决方案--------------------一般思路如下,异常处理等细节问题自己考虑
C# code
//递归添加方法
private void AddFileNodes(DirectoryInfo di, TreeNode tn)
{
    FileInfo[] infoList = di.GetFiles("*.*");
    foreach (FileInfo file in infoList)
    {
        tn.Nodes.Add(file.Name);
    }
    DirectoryInfo[] dir = di.GetDirectories();
    foreach (DirectoryInfo d in dir)
    {
        tn.Nodes.Add(d.Name);//搜索文件夹,并添加当前父节点
        AddFileNodes(d, tn.Nodes[tn.Nodes.Count - 1]);//递归,实现添加下级文件夹子节点的添加
    }
}