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