- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.IO;
- using System.Windows.Forms;
- namespace MyExplorer
- {
- class initFileTree:Form
- {
- #region 初始化处理
- public static void init(ref TreeView tv)
- {
- try
- {
- TreeNode rootNode;
- DirectoryInfo info = new DirectoryInfo(@"I:\\MSDN 2008");
- if (info.Exists)
- {
- rootNode = new TreeNode(info.Name);
- rootNode.Tag = info;
- searcher(info.GetDirectories(), rootNode);
- tv.Nodes.Add(rootNode);
- }
- }
- catch (Exception e)
- {
- //异常处理
- MessageBox.Show(e.ToString().Split('。')[0], "警告", MessageBoxButtons.OK,MessageBoxIcon.Warning);
- }
- //资源回收
- finally
- {
- //交给GC处理
- }
- }
- #endregion
- #region searcher方法可以搜索windows文件系统下所有的文件夹(非文件)
- private static void searcher(DirectoryInfo[] infos,TreeNode nodeToaddTo)
- {
- TreeNode node;
- DirectoryInfo[] directorys;
- foreach (DirectoryInfo temp in infos)
- {
- node = new TreeNode(temp.Name, 0, 0);
- //封装信息
- node.Tag = temp;
- directorys = temp.GetDirectories();
- if (directorys.Length != 0)
- {
- searcher(directorys, node);
- }
- nodeToaddTo.Nodes.Add(node);
- }
- }
- #endregion
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/0608201513362.html
来源: http://www.codesnippet.cn/detail/0608201513362.html