`
xqf222
  • 浏览: 128892 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用线程加载指定目录下的所有子目录和文件名称到TreeView中

 
阅读更多

界面设计:

从工具箱中拖放一个TreeView(teeView1)和一个Button(button1)到WinForm窗体中

添加引用:

using System.Threading;
using System.IO;

详细代码:


#region 目录树委托定义
private delegate void UpdateTreeViewDelegate(TreeNode node);//声明委托类型
private static string CurrentFolderPath;
#endregion

#region 目录树节点操作函数
/// <summary>
/// 加载节点到TreeView中
/// </summary>
/// <param name="node">TreeNode</param>
private void AddToTreeView(TreeNode node)
{
treeView1.Nodes.Add(node);
treeView1.Refresh();
}
/// <summary>
/// 递归加载指定目录下的所有子目录和文件树
/// </summary>
/// <param name="reg">指定目录路径</param>
/// <param name="nodes">起始树,将在它下面建立所有子结点</param>
internal void LoadFolderFileList(string path, TreeNode nodes)
{
string[] dirs = Directory.GetDirectories(path);
string[] files = Directory.GetFiles(path);
for (int i = 0; i < dirs.Length; i++)
{
string[] info = new string[4];
DirectoryInfo di = new DirectoryInfo(dirs[i]);
TreeNode node = new TreeNode(di.Name);
node.Tag = di.FullName;
try
{
if (di.GetDirectories().Length > 0 || di.GetFiles().Length > 0)
{
LoadFolderFileList(di.FullName, node);
}
else
{
continue;
}
}
catch
{
continue;
}
nodes.Nodes.Add(node);
}
for (int i = 0; i < files.Length; i++)
{

FileInfo fi = new FileInfo(files[i]);
TreeNode node = new TreeNode(fi.Name);
node.Tag=fi.FullName;
nodes.Nodes.Add(node);

}
}

#endregion

分享到:
评论

相关推荐

    获取Linux下Ftp目录树并逐步绑定到treeview

    这通常通过递归调用`ftp`命令的`cd`和`ls`命令实现,将每个目录的子目录和文件添加到数据结构中,如树形结构。 3. **Python的ftplib模块**:在Python中,可以使用内置的`ftplib`模块来编程方式地操作FTP。这个模块...

    C#WinForm利用TreeView查找电脑目录

    例如,我们可以用`Directory.GetFiles()`和`Directory.GetDirectories()`方法获取指定目录下的文件和子目录。 下面是一个简单的步骤来实现这个功能: 1. 创建一个新的WinForm项目,从工具箱中拖放一个`TreeView`...

    C# TreeView 目录结构

    在这个场景下,"C# TreeView 目录结构"指的是使用TreeView控件来模拟和操作计算机的文件目录结构。让我们深入探讨如何在C#中实现这一功能。 首先,你需要创建一个TreeView控件并在窗体上放置它。在Visual Studio的...

    [C#]TreeView控件使用之磁盘目录查看器

    在这个特定的案例中,我们关注的是如何利用C#编程来实现一个磁盘目录查看器,通过`TreeView`控件来显示计算机中的文件夹和文件结构。 首先,我们需要理解`TreeView`的基本用法。`TreeView`控件由一系列的`TreeNode`...

    装入整个 C 盘目录到 TreeView

    - 使用`DirectoryInfo`类来获取C盘根目录信息,并通过递归方法遍历所有子目录和文件。 - `DirectoryInfo root = new DirectoryInfo("C:\\");` - ` TraverseDirectory(root);` 其中`TraverseDirectory`是一个递归...

    使用treeview listview实现我的资源管理器

    可以编写一个递归函数,接收当前目录路径作为参数,遍历该目录下的所有文件和子目录。对于每个文件,创建一个新的`ListViewItem`并添加到`ListView`中;对于每个子目录,创建一个新的`TreeNode`并添加到`TreeView`中...

    vc++搜索目录下所有文件

    它是MFC(Microsoft Foundation Classes)库中的一个类,用于查找指定目录下的文件和子目录。通过创建`CFileFind`对象并调用其`FindFile()`和`FindNextFile()`成员函数,我们可以迭代地遍历目录中的所有文件。 以下...

    计算机软件-商业源码-43 使用TreeView控件显示目录中的内容.zip

    `DirectoryInfo.GetDirectories()`和`GetFiles()`方法分别用于获取子目录和文件,然后将这些信息转化为TreeNode添加到TreeView中。 3. **递归遍历**: 为了显示整个目录结构,需要编写一个递归函数。该函数接受一...

    对treeview的深度应用

    例如,如果我们有一个目录结构,我们可以遍历每个文件和子目录,创建相应的TreeNode并添加到对应的父目录节点。 2. **事件处理**:TreeView控件提供了多种事件,如NodeMouseClick、AfterSelect、BeforeCollapse等,...

    C# ListView和TreeView实现资源管理介面例子

    在C#编程中,ListView和TreeView是两种常用的控件,它们在Windows Forms和WPF应用程序中广泛用于数据的展示和管理。这两个控件各有特点,适用于不同的数据展示场景。 ListView控件是一个强大的列表视图,它能够以...

    AndroidTreeView

    - **异步加载**: 支持在后台线程加载数据,以避免阻塞 UI。这对于处理大量数据或网络延迟的情况非常有用。 - **自定义样式**: 开发者可以完全控制节点的外观,包括图标、文字颜色、背景色等,以适应各种设计需求。 ...

    TreeView 用户指南(中文版)

    TreeView控件是开发中不可或缺的一部分,它的灵活性和易用性使其在各种应用场景下都表现出色。通过深入了解和巧妙使用,可以构建出直观且高效的用户界面。对于开发者而言,掌握TreeView的使用无疑会增强其创建用户...

    wpf基于TreeView控件的Demo

    这个Demo展示了如何在WPF应用中利用`TreeView`控件来实现一个简单的图片查看器,同时演示了如何遍历文件系统并加载根目录下的文件结构。以下是对该Demo涉及知识点的详细说明: 1. **TreeView控件**:`TreeView`是...

    WPF文件目录树,显示选定文件夹下的所有文件夹

    现在,当你运行应用程序时,`TreeView`应该会显示指定目录及其所有子文件夹。当用户选择一个文件夹时,还会弹出一个消息框显示所选文件夹的路径。 ### 优化与扩展 - 可以考虑添加错误处理,比如在访问权限受限或...

    C#文件浏览器源代码示例

    3. **遍历文件系统**:源代码中会使用Directory.GetDirectories()和Directory.GetFiles()方法来递归地遍历指定目录及其子目录,获取所有子目录和文件的路径。这些路径随后会被添加到TreeView或ListView中供用户浏览...

    c# 资源管理器程序,TreeView,ListView

    每个节点代表一个目录或文件,节点可以展开或折叠,显示其子目录或文件。在C#中,你可以使用`TreeView`的`Nodes`属性来添加、删除或修改节点。`TreeViewNode`类提供了`Text`属性来设置节点文本,`Nodes`属性用于添加...

    treeview高级实例

    在编程领域,`TreeView`控件是常见的图形用户界面(GUI)组件,广泛应用于Windows应用程序开发,例如在.NET Framework的WinForms和WPF环境中。`TreeView`控件用于展示层次结构的数据,通常用来模拟文件系统目录、...

    C#文件浏览器

    例如,`DirectoryInfo`和`FileInfo`用于获取目录和文件信息,`Directory.GetFiles()`和`Directory.GetDirectories()`用于检索指定目录下的文件和子目录,`File.OpenRead()`和`File.OpenWrite()`用于读写文件内容。...

    如何快速进行动态加载树控件

    在设计阶段,可以通过拖放控件到表单或XAML文件中,或者在代码中创建实例。 2. **数据模型与视图** 数据模型是存储层次数据的地方,视图则是展示这些数据的方式。在.NET中,可以使用自定义的类作为数据模型,每个...

    Java目录树控件

    然后,递归地为每个子目录和文件创建新的TreeNode,并添加到父节点下。 3. **读取文件系统**: 使用Java的File类和FileUtils类(Apache Commons IO库)来获取文件系统中的目录和文件信息。通过调用`listFiles()`...

Global site tag (gtag.js) - Google Analytics