日期:2014-05-18  浏览次数:20720 次

诚心请教: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]);//递归,实现添加下级文件夹子节点的添加
    }
}