如何用TreeView和ImageList列出本地机器上的所有的文件夹和文件,就像acdsee那样的效果,给出可用代码者给100分

解决方案 »

  1.   

    给你发个例子,留下email dddr
      

  2.   

    to: 3tzjq(永不言弃)[email protected]
    若有做好的控件就更好了,不过还是谢谢了先。
      

  3.   

    private void LoadTree()
    {
    GetDrivers();
    } //获取磁盘分区
    private void GetDrivers()
    {
      
    treeView1.Nodes.Clear(); TreeNode root=new TreeNode("我的电脑");
    treeView1.Nodes.Add(root);
     
    string[] drivers = System.IO.Directory.GetLogicalDrives(); foreach (string driver in drivers)
    {
    TreeNode childDriver = new TreeNode(driver);
    treeView1.Nodes[0].Nodes.Add(childDriver);
    GetFoldersAndFiles(childDriver);
    }
    } //获取文件夹和文件
    private void GetFoldersAndFiles(TreeNode tn)
    {
    string currentPath=tn.FullPath;
    currentPath=currentPath.Remove(0,5); //设置当前文件夹
    System.IO.DirectoryInfo folderInfo = new System.IO.DirectoryInfo (currentPath);
    System.IO.DirectoryInfo[] folders;
    try
    {
    //获取当前文件夹下的所有文件夹
    folders = folderInfo.GetDirectories();
    }
    catch

    return;
    }

    //遍历文件夹
    foreach (System.IO.DirectoryInfo folder in folders)
    {

    TreeNode childFolder = new TreeNode(folder.Name);
    tn.Nodes.Add(childFolder);
    //递归调用
    GetFoldersAndFiles(childFolder);
    } //获得当前文件夹下的所有文件 
    System.IO.FileInfo[] files;
    files=folderInfo.GetFiles();

    foreach (System.IO.FileInfo file in files)
    {
    //得到每个文件的图标
    TreeNode childFile = new TreeNode(file.Name);
    tn.Nodes.Add(childFile);
    }

    }