为什么后面的代码都不能执行
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
TreeNode root = new TreeNode();
root.Text = "我的电脑";
root.Tag = "Root";
this.treeView1.Nodes.Add(root);
TreeNode fakeNode = new TreeNode();
root.Nodes.Add(fakeNode);
}//只能运行到这里 求解释
private void ShowDrives(TreeNode node)
{
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
{
TreeNode n = new TreeNode();
n.Text = drive.Name;
n.Tag = drive;
if (drive.IsReady && (drive.RootDirectory.GetDirectories().Length > 0 || drive.RootDirectory.GetFiles().Length > 0))
{
TreeNode fakeNode = new TreeNode();
n.Nodes.Add(fakeNode);
}
node.Nodes.Add(n);
}
}
private void ShowRootDirectoriesAndFiles(TreeNode node)
{
DriveInfo drive = node.Tag as DriveInfo;
if (drive != null)
{
DirectoryInfo[] directories = drive.RootDirectory.GetDirectories();
FileInfo[] files = drive.RootDirectory.GetFiles();
BindDirectoriesAndFiles(node, directories, files);
}
}
private void ShowDirectoriesAndFiles(TreeNode node)
{
DirectoryInfo directory = node.Tag as DirectoryInfo;
if (directory != null)
{
DirectoryInfo[] directories = directory.GetDirectories();
FileInfo[] files = directory.GetFiles();
BindDirectoriesAndFiles(node, directories, files);
}
}
private void BindDirectoriesAndFiles(TreeNode node, DirectoryInfo[] directories, FileInfo[] files)
{
foreach (DirectoryInfo dir in directories)
{
TreeNode n = new TreeNode();
n.Text = dir.Name;
n.Tag = dir;
try
{
if (dir.GetDirectories().Length > 0 || dir.GetFiles().Length > 0)
{
TreeNode fakeNode = new TreeNode();
n.Nodes.Add(fakeNode);
}
}
catch
{
}
node.Nodes.Add(n);
}
foreach (FileInfo file in files)
{
TreeNode n = new TreeNode();
n.Text = file.Name;
n.Tag = file;
node.Nodes.Add(n);