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;
}

解决方案 »

  1.   

    加一个Loading的等待提示,这样给用户的感觉程序是在运行,就可以了.
    满足用户要求就可以了.也不用浪费太多脑细胞
      

  2.   

    如题啊,还有我想在ShowFolderSchema()里用一个异步操作的委托.不会啊.
      

  3.   

    采用动态打开的方式
    第一次只读取二级目录
    用户点节点的时候再展开
    Windows的文件浏览器不就是这样吗?
      

  4.   

    采用动态打开的方式
    第一次只读取二级目录
    用户点节点的时候再展开
    Windows的文件浏览器不就是这样吗?
    同意
      

  5.   

    同意yucong(程序人生) ,我就是这样做的,winform更方便
      

  6.   

    我用winform,不觉得递归慢阿...
      

  7.   

    就像 前面几位说的
    一级 一级的 读取tree数据