添加以下几个函数:
//用指定的文本构造一个节点,将其添加为参数parant的子节点,并返回刚构造的节点
private treenode addnode(treenode parant,string text)
{
treenode node = new treenode(text);
parant.nodes.add(node);
return node;
}
//递归地找到参数entry的所有子节点,并在treeview1中显示;这里的entry与entrynode需相对应
private void enumchildren(directoryentry entry,treenode entrynode)
{
if(entry.children!=null) file://如果无子节点则结束
{
foreach(directoryentry i in entry.children)
{
file://将各子节点加入treeview,并进行递归
enumchildren(i,addnode(entrynode,i.name));
}
}
}
//用给定的字符串构造根节点,并列出其所有子节点
private void enumerate(string path)
{
try
{
using(directoryentry root = new directoryentry(path))
{
treenode node = new treenode(root.name);
treeview1.nodes.add(node);
enumchildren(root,node);
}
}
catch {}
}