读书人

历遍全部文件夹,将文件结构加载到Tree

发布时间: 2011-12-10 22:22:01 作者: rapoo

历遍所有文件夹,将文件结构加载到TreeView里面.用递归好慢啊,有没有更好的办法?
private void ShowFolderSchema()
{
if(LocalFolderPath != string.Empty)
{
this.treeView1.Nodes.Clear();
this.treeView1.Nodes.AddRange(LoadDirectoryInfo(LocalFolderPath));
}
}

internal TreeNode[] LoadDirectoryInfo(string folderPath)
{
DirectoryInfo di = new DirectoryInfo(folderPath);
DirectoryInfo[] dis = di.GetDirectories();
TreeNode[] tn = new TreeNode[dis.Length];
for(int i = 0;i < dis.Length; i++)
{
tn[i] = new TreeNode(dis[i].Name);
tn[i].Nodes.AddRange(LoadDirectoryInfo(dis[i].FullName));
}
return tn;
}

[解决办法]
加一个Loading的等待提示,这样给用户的感觉程序是在运行,就可以了.
满足用户要求就可以了.也不用浪费太多脑细胞
[解决办法]
采用动态打开的方式
第一次只读取二级目录
用户点节点的时候再展开
Windows的文件浏览器不就是这样吗?
[解决办法]
采用动态打开的方式
第一次只读取二级目录
用户点节点的时候再展开
Windows的文件浏览器不就是这样吗?
同意
[解决办法]
同意yucong(程序人生) ,我就是这样做的,winform更方便
[解决办法]
我用winform,不觉得递归慢阿...
[解决办法]
就像 前面几位说的
一级 一级的 读取tree数据

读书人网 >C#

热点推荐