实现效果:

  

知识运用:

  ListView控件中Items集合的Add方法  TteeView控件中Nodes集合的Add方法

实现代码:

        private void Form1_Load(object sender, EventArgs e)
{
TreeNode rootNode = new TreeNode("我的电脑");
treeView1.Nodes.Add(rootNode);
} private void ListViewShow(TreeNode NodeDir) {
listViewFile.Clear();
try
{
if (NodeDir.Parent == null)
{
foreach (string DrvName in Directory.GetLogicalDrives())
{
ListViewItem ItemList = new ListViewItem(DrvName);
listViewFile.Items.Add(ItemList);
}
}
else
{
foreach (string dirName in Directory.GetDirectories((string)NodeDir.Tag))
{
ListViewItem dirItem = new ListViewItem(dirName);
listViewFile.Items.Add(dirItem);
}
foreach (string fileName in Directory.GetFiles((string)NodeDir.Tag))
{
ListViewItem fileItem = new ListViewItem(fileName);
listViewFile.Items.Add(fileItem);
}
}
}
catch { }
} private void TreeViewShow(TreeNode selectNode) {
try {
if(selectNode.Nodes.Count==0){
if (selectNode.Parent == null)
{
foreach (string drvName in Directory.GetLogicalDrives())
{
TreeNode drvNode = new TreeNode(drvName);
drvNode.Tag = drvName;
selectNode.Nodes.Add(drvNode);
}
}
else {
foreach (string dirName in Directory.GetDirectories((string)selectNode.Tag))
{
TreeNode dirNode = new TreeNode(dirName);
dirNode.Tag = dirName;
selectNode.Nodes.Add(dirNode);
}
}
}
}catch(Exception ex){
MessageBox.Show(ex.Message);
}
} private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
TreeViewShow(e.Node);
ListViewShow(e.Node);
}

  

用TreeView控件遍历磁盘目录的更多相关文章

  1. 基于Treeview控件遍历本地磁盘

    一.前言 Treeview控件常用于遍历本地文件信息,通常与Datagridview与ImageList搭配.ImageList控件用于提供小图片给TreeView控件,DatagridView通常显 ...

  2. C#TreeView控件遍历文件夹下所有子文件夹以及文件

    一直对递归的理解不深刻,有时候觉得很简单,可是用起来总会出错.这里需要在TreeView控件里显示一个文件夹下的所有目录以及文件,毫无意外的需要用到递归. 一开始,想到用递归写一个生成每一个节点(Tr ...

  3. Visual Studio 2010下ASPX页面的TreeView控件循环遍历

    如果维护一个老系统就总会遇到各种问题,而这次是TreeView的循环遍历.对于Visual Studio2010上aspx页面的TreeView控件,我感受到了什么叫集微软之大智慧.与二叉树型不一样. ...

  4. [转] C#2010 在TreeView控件下显示路径下所有文件和文件夹

    原文 张丹-小桥流水,C#2010 在TreeView控件下显示路径下所有文件和文件夹 C#2010学习过程中有所收获,便总结下来,希望能给和我一样在学习遇到困难的同学提供参考. 本文主要介绍两个自定 ...

  5. TreeView控件使用

    treeView1.SelectedNode = treeView1.Nodes[0];  //选中当前treeview控件的根节点为当前节点添加子节点:  TreeNode tmp; tmp = n ...

  6. Win32中TreeView控件的使用方法,类似于资源管理器中文件树形显示方式

    首先是头文件,内容如下: #include <tchar.h> #include "..\CommonFiles\CmnHdr.h" #include <Wind ...

  7. 利用深搜和宽搜两种算法解决TreeView控件加载文件的问题。

    利用TreeView控件加载文件,必须遍历处所有的文件和文件夹. 深搜算法用到了递归. using System; using System.Collections.Generic; using Sy ...

  8. C#Winform中treeView控件使用总结

    1.如何展开结点时改变图标(注意:不是选中时) 要在目录中使用图标首先要加入一个控件ImageList(命名为imageList1),然后可以按图片的index或名称引用图片. 然后需要在TreeVi ...

  9. Treeview控件的Node节点延迟加载

    Treeview控件是一个很常用的控件,用于展示资源或者组织结构的时候很方便,通常会在系统启动时进行资源的加载和节点目录的初始化,但在资源较多和层级较深的情况下,所有节点加载出来会耗费太多时间,影响体 ...

随机推荐

  1. UIDevice的简易说明

    typedef NS_ENUM(NSInteger, UIDeviceOrientation) //设备方向 { UIDeviceOrientationUnknown, UIDeviceOrienta ...

  2. Java通过IO流输入输出 向文件中存入大量三个属性的值,并通过验证前两个属性输出第三个属性

    package ABC1; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import ...

  3. UVA12230 过河 Crossing Rivers

    题目描述 一个人每天需要从家去往公司,然后家与公司的道路是条直线,长度为 \(D\). 同时路上有 \(N\)条河,给出起点和宽度\(W_i\) , 过河需要乘坐速度为\(V_i\) 的渡船; 船在河 ...

  4. json数据前台解析 修改check属性用prop()

    jQuery中的$.getJSON( )方法函数主要用来从服务器加载json编码的数据,它使用的是GET HTTP请求.使用方法如下: $.getJSON( url [, data ] [, succ ...

  5. js车牌号校验

    function cpyz(str) {        var newcarnum= str.value.toUpperCase();    var regExp = /(^[\u4E00-\u9FA ...

  6. ElasticSearch java API 按照某个字段排序

    searchRequestBuilder.addSort("publish_time", SortOrder.DESC); 按照某个字段排序的话,hit.getScore()将会失 ...

  7. 《C#高效编程》读书笔记12-使用推荐成员初始化器而不是赋值语句

    通常来说类都有不止一个构造函数.随着时间推移,成员变量的增加,构造函数的个数也会不断的增加.预防这种情况的最好方法是,在声明变量的时候就进行初始化,而不是在每个构造函数中进行. //初始化变量时声明 ...

  8. 《C#高效编程》读书笔记06-理解几个等同性判断之间的关系

    当创建自定义类型时(无论是class还是struct),应为类型定义"等同性"的含义.C#提供了4种不同的函数来判断两个对象是否"相等": public sta ...

  9. Java语言程序设计(第三版)第二章课后习题答案(仅供参考)

    2.1   注意不同类型转换 import java.util.Scanner; public class Ch02 { public static void main(String[] args) ...

  10. mysql set names 命令和 mysql字符编码问题

    先看下面的执行结果: (root@localhost)[(none)]mysql>show variables like 'character%'; +--------------------- ...