本帖最后由 _xixi_ 于 2014-7-29 13:11 编辑
- public void ByQueue(string path, TreeNode tNode)
- {
- Queue<TreeNode> node = new Queue<TreeNode>();
- TreeNode nNode=null;
- do
- {
- if (tNode == null)
- {
- //tvMain 是TreeView面板的名字
- nNode = tvMain.Nodes.Add(Path.GetFileName(path));
- nNode.Tag = path;
- node.Enqueue(nNode);
- tNode = nNode;
- }
- else
- {
- tNode = node.Dequeue();
- //获取当前目录的子目录
- string[] dirs = Directory.GetDirectories(tNode.Tag.ToString());
- //每个节点的子节点也添加到队列里
- for (int i = 0; i < dirs.Length; i++)
- {
- nNode = tNode.Nodes.Add(Path.GetFileName(dirs[i]));
- nNode.Tag = dirs[i];
- node.Enqueue(nNode);
- }
- }
- } while (node.Count > 0);
- }
复制代码 在load方法添加ByQueue(路径, null); 就可以了 |