关于资源管理器的功能实现问题
当treeview点击我的电脑的时候 读A:\\时会报错??怎么解决??
namespace 资源管理器
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Inilize();
}
public void Inilize()
{
TreeNode root = new TreeNode("桌面");
TreeNode myDocument = new TreeNode("我的文档");
string[] myDocumentBelow = Directory.GetDirectories(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments).ToString());
foreach(string dir in myDocumentBelow)
{
DirectoryInfo di=new DirectoryInfo(dir);
TreeNode tr=new TreeNode(di.Name);
tr.Tag=di.FullName;
myDocument.Nodes.Add(tr);
}
TreeNode myComputer = new TreeNode("我的电脑");
string[] myDriver = Environment.GetLogicalDrives();
foreach (string dir in myDriver)
{
DirectoryInfo di = new DirectoryInfo(dir);
TreeNode tr=new TreeNode(di.Name);
tr.Tag=di.FullName;
myComputer.Nodes.Add(tr);
}
treeView1.Nodes.Add(root);
root.Nodes.Add(myDocument);
root.Nodes.Add(myComputer);
}
public void Trip(TreeNode temp)
{
if (temp.Tag.ToString() != "A:\\")
{
String[] dirAll = Directory.GetDirectories(temp.Tag.ToString());
foreach (string dir in dirAll)
{
DirectoryInfo di = new DirectoryInfo(dir);
TreeNode node = new TreeNode(di.Name);
node.Tag = di.FullName;
temp.Nodes.Add(node);
}
}
}
private void treeView1_AfterExpand(object sender, TreeViewEventArgs e)
{
if (treeView1.SelectedNode.Text == "我的电脑")
{
for (int i = 0; i < treeView1.SelectedNode.Nodes.Count; i++)
{
Trip(treeView1.SelectedNode.Nodes[i]);//如c:
}
}
}
}
}