传入Treeview引用进行处理
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
}
}