分享

有关在TreeView上递归显示整个系统盘符文件目录及文件 !

 Cloud书屋 2012-11-20
  • using System;  
  • using System.Collections.Generic;  
  • using System.Linq;  
  • using System.Text;  
  •   
  • using System.Windows.Forms;  
  • using System.IO;  
  •   
  • namespace Demo  
  • {  
  •     /// <summary>  
  •     /// 有关对于TreeView节点的填充的相关处理类  
  •     /// </summary>  
  •     class TreeViewUtils  
  •     {  
  •         #region 有关将整个系统盘符加载到TreeView顶级节点的处理方法  
  •         /// <summary>  
  •         /// 有关将整个系统盘符加载到TreeView顶级节点的处理方法  
  •         /// </summary>  
  •         /// <param name="treeView"></param>  
  •         public void LoadListListDrivers(TreeView treeView)  
  •         {  
  •             treeView.Nodes.Clear();  
  •             DriveInfo[] drivers = DriveInfo.GetDrives();                    //获得整个系统磁盘驱动  
  •   
  •             //将盘符名加载到TreeView的顶级节点  
  •             foreach (DriveInfo driver in drivers)  
  •             {                 
  •                 TreeNode node = treeView.Nodes.Add(driver.Name);  
  •             }  
  •             //填充TreeView的顶级节点下的子节点  
  •             foreach (TreeNode node in treeView.Nodes)  
  •             {  
  •                 NodeUpdate(node);  
  •             }  
  •   
  •         }  
  •         #endregion  
  •  
  •         #region 更新TreeView下的节点(列出当前目录下的子目录)  
  •         /// <summary>  
  •         /// 更新TreeView下的节点(列出当前目录下的子目录)  
  •         /// </summary>  
  •         /// <param name="node">上层节点</param>  
  •         public void NodeUpdate(TreeNode node)  
  •         {  
  •             try  
  •             {  
  •                 node.Nodes.Clear();  
  •                 DirectoryInfo dir = new DirectoryInfo(node.FullPath);          //获得指定节点目录的目录对象  
  •   
  •                 //遍历该目录下的所有目录  
  •                 foreach (DirectoryInfo d in dir.GetDirectories())  
  •                 {  
  •                     node.Nodes.Add(d.Name);                                             //向指定节点下添加文件目录节点  
  •                 }  
  •                 //遍历该目录下的所有文件  
  •                 foreach (FileInfo f in dir.GetFiles())  
  •                 {  
  •                     node.Nodes.Add(f.Name);                                             //向指定节点下添加文件节点  
  •                 }  
  •   
  •                 //递归更新所有子结点  
  •                 //foreach (TreeNode no in node.Nodes)  
  •                 //{  
  •                 //    NodeUpdate(no);                                                            //递归调用                      
  •                 //}  
  •             }  
  •             catch { }  
  •         }  
  •         #endregion  
  •   
  •     }  
  • }  
    • 本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
      转藏 分享 献花(0

      0条评论

      发表

      请遵守用户 评论公约