历遍所有文件夹,将文件结构加载到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数据