C# TreeView 树节点:递归显示整个系统盘符文件目录及文件

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

 

}

}

转载于:https://www.cnblogs.com/Miss-Lee/p/3791626.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值