`

TreeView控件操作开发篇之(五)

    博客分类:
  • C#
 
阅读更多
 
  #region 加载文件夹及文件到树

        /// <summary>
        /// 加载文件夹文件到树控件
        /// </summary>
        /// <param name="Tv">TreeView</param>
        /// <param name="DirPath">要加载的文件夹路径</param>
        /// <param name="ImgList">ImageList</param>
        /// <returns>True/False</returns>
        public bool LoadDirAndFiles(TreeView Tv, string DirPath, ImageList ImgList)
        {
            try
            {
                Tv.Nodes.Clear();
                Tv.ImageList = ImgList;
                //遍历文件夹
                foreach (DirectoryInfo Dir in new DirectoryInfo(DirPath).GetDirectories())
                {
                    TreeNode TN = new TreeNode();
                    TN.Text = Dir.Name;
                    TN.Tag = Dir.FullName;
                    SetTreeNodeIcon(TN, "Dir", ImgList);
                    Tv.Nodes.Add(TN);

                    ForLoadDirAndFiles(TN, Dir, ImgList);

                    //遍历文件夹下的文件 
                    foreach (FileInfo File in Dir.GetFiles())
                    {
                        TreeNode FTn = new TreeNode();
                        FTn.Text = File.Name;
                        FTn.Tag = File.FullName;
                        SetTreeNodeIcon(FTn, File.Extension, ImgList);
                        TN.Nodes.Add(FTn);
                    }
                }
                //遍历文件夹下的文件 
                foreach (FileInfo file in new DirectoryInfo(DirPath).GetFiles())
                {
                    TreeNode aTn = new TreeNode();
                    aTn.Text = file.Name;
                    aTn.Tag = file.FullName;
                    SetTreeNodeIcon(aTn, file.Extension, ImgList);
                    Tv.Nodes.Add(aTn);
                }
                return true;
            }
            catch 
            {
                return false;
            }
        }

        /// <summary>
        ///加载传入的文件夹文件列表
        /// </summary>
        /// <param name="CurrTn">树节点</param>
        /// <param name="CurrDir">文件夹</param>
        private void ForLoadDirAndFiles(TreeNode CurrTn, DirectoryInfo CurrDir, ImageList ImgList)
        {
            //遍历CurrDir文件夹下的文件夹
            foreach (DirectoryInfo aDir in CurrDir.GetDirectories()) 
            {
                TreeNode TN = new TreeNode();
                TN.Text = aDir.Name;
                TN.Tag = aDir.FullName;
                SetTreeNodeIcon(TN, "dir", ImgList);
                CurrTn.Nodes.Add(TN);
             
                // 遍历文件下的文件
                foreach (FileInfo File in aDir.GetFiles()) 
                {
                    TreeNode aNode = new TreeNode();
                    aNode.Text = File.Name;
                    aNode.Tag = File.FullName;
                    TN.Nodes.Add(aNode);
                    SetTreeNodeIcon(TN, File.Extension, ImgList);
                }
                ForLoadDirAndFiles(TN, aDir, ImgList);
            }
        }


        /// <summary>
        /// 设置节点的图标
        /// </summary>
        /// <param name="Tn">节点</param>
        /// <param name="strLX"></param>
        /// <param name="ImgList">图像</param>
        private void SetTreeNodeIcon(TreeNode Tn, string strLX,ImageList ImgList)
        {
             strLX = strLX.Replace('.',' ');
            if (strLX.ToLower() == "dir")  //目录
            {
                Tn.ImageIndex = ImgList.Images.IndexOfKey("close");
                Tn.SelectedImageIndex = ImgList.Images.IndexOfKey("open");
            }
            else
            {
                Tn.ImageIndex = ImgList.Images.IndexOfKey(strLX.Trim());
                Tn.SelectedImageIndex = ImgList.Images.IndexOfKey(strLX.Trim());
            }
        }
        #endregion

         #region 加载文件夹到树 

        /// <summary>
        /// 加载文件夹
        /// </summary>
        /// <param name="TV">TreeView</param>
        /// <param name="DirPath">要加载的文件夹路径</param>
        /// <param name="ImgList">ImageList</param>
        /// <returns></returns>
        public bool LoadDirectories(TreeView TV, string DirPath,ImageList ImgList)
        {
            try
            {
                TV.Nodes.Clear();
                TV.ImageList = ImgList;
                foreach (DirectoryInfo Dir in new DirectoryInfo(DirPath).GetDirectories())
                {
                    TreeNode TN = new TreeNode();
                    TN.Text = Dir.Name;
                    TN.Tag = Dir.FullName;
                    SetTreeNodeIcon(TN, "Dir", ImgList);
                    TV.Nodes.Add(TN);

                    ForLoadDirs(TN, Dir, ImgList);
                }
                return true;
            }
            catch
            {
                return false;
            }
        }

        /// <summary>
        /// 递归文件夹
        /// </summary>
        /// <param name="Tn"></param>
        /// <param name="Dir"></param>
        /// <param name="ImgList"></param>
        private void ForLoadDirs(TreeNode Tn, DirectoryInfo Dir, ImageList ImgList)
        {
            foreach (DirectoryInfo directory in Dir.GetDirectories())
            {
                TreeNode t = new TreeNode();
                t.Text = directory.Name;
                t.Tag = directory.FullName;
                SetTreeNodeIcon(Tn, "dir", ImgList);
                Tn.Nodes.Add(t);
                ForLoadDirs(t, directory, ImgList);
            }
        }
        #endregion
分享到:
评论

相关推荐

    Treeview控件的用法

    这篇博客文章,通过链接,详细讲解了`TreeView`控件的使用方法,主要涉及以下几个关键知识点: 1. **基本概念**:`TreeView`控件由一系列的`TreeNode`对象组成,每个`TreeNode`代表一个层级。根节点通常表示顶层...

    TreeView控件的用法

    本篇将详细介绍TreeView控件的基本用法,以及如何在实际开发中有效利用它。 **一、TreeView控件的基本元素** 1. **节点(Node)**:TreeView中的基本单位,可以包含子节点,形成层级结构。每个节点通常由一个文本...

    TreeView控件工具

    在Web开发中,TreeView控件工具是构建这些交互式树状视图的关键组件。本篇文章将深入探讨TreeView控件的相关知识,以jQuery Treeview为例进行详细解析。 首先,TreeView控件的基本功能包括展开、折叠节点,以及通过...

    使用TreeView控件设计OA办公系统的导航

    本篇文章将深入探讨如何使用TreeView控件在VS2005中设计OA办公系统的导航。 1. **TreeView控件介绍** TreeView控件是ASP.NET提供的一种用于显示层次结构数据的控件,它可以模拟Windows操作系统中的文件资源管理器...

    treeView控件实现拖放操作(2.0)

    在Windows Forms开发中,`TreeView`控件是一个常用的组件,用于展示层次化的数据结构,例如文件系统、组织结构等。本篇文章将详细讲解如何在C#的WinForms环境中,利用.NET Framework 2.0实现`TreeView`控件的拖放...

    treeview控件

    Treeview控件是Windows应用程序开发中常用的一种图形用户界面(GUI)组件,它通常用于显示层级结构的数据,如文件系统、组织结构或者数据库中的树状数据。在本篇中,我们将深入探讨Treeview控件的功能、特性以及如何...

    实现右键菜单编辑功能treeview控件

    在.NET开发中,TreeView控件是一个常用的数据呈现组件,它以树形结构显示数据,常用于网站或应用程序的导航和信息展示。实现右键菜单编辑功能对于增强用户体验和交互性非常关键。本篇将深入探讨如何在TreeView控件中...

    .NET treeview控件使用

    本篇将详细讲解如何使用.NET TreeView控件,并结合MySQL数据库进行数据交互。 一、TreeView控件基础 1. 添加TreeView控件:在Visual Studio的设计界面中,从工具箱选择TreeView控件并将其拖放到窗体上。也可以通过...

    C#TreeView控件的使用

    1. **TreeView控件的基本概念** `TreeView`控件由一系列`TreeNode`对象组成,每个`TreeNode`代表树结构中的一个节点。节点可以有父节点和子节点,形成层级关系。`TreeView`控件提供了丰富的事件和方法,便于操作...

    C#Combox与Treeview组合控件

    总之,通过巧妙地结合C#中的ComboBox和TreeView控件,我们可以创建出具有层次感的用户界面,使用户能更直观、方便地浏览和操作层次结构的数据。这种技术在各种应用场景中都十分有用,比如配置管理、文件浏览等。理解...

    Treeview控件

    在Windows应用程序开发中,TreeView控件是一个非常常用且功能强大的组件。它允许用户以树状结构展示数据,常用于文件系统、目录结构或者层次关系的数据表示。本篇将深入探讨`TreeView`控件的使用,以及如何实现描述...

    ASTreeView 1.3.0(超炫,超酷的Asp.net的Treeview控件)

    在本篇中,我们将深入探讨ASTreeView 1.3.0,一个针对ASP.NET平台优化的高级Treeview控件,它具备了丰富的功能和优秀的用户体验。 **ASTreeView特性** 1. **拖放功能**:ASTreeView 1.3.0 支持节点的拖放操作,...

    WindowsFormsApplication1_explanationxsz_treeview_treeview控件_

    在Windows Forms应用程序开发中,`TreeView`控件是一个不可或缺的部分,尤其在需要展现层次结构数据时。本篇文章将深入探讨`TreeView`控件在Windows Forms中的应用及其主要功能。 `TreeView`控件在Windows Forms中...

    使用TREEVIEW控件

    在Windows应用程序开发中,TreeView控件是一个非常常用且功能强大的组件。它允许用户以树状结构展示数据,常用于文件系统、目录结构或者层次关系的数据表示。本篇将深入探讨如何使用TreeView控件,以及其在实际应用...

    TREEVIEW控件

    在实际开发中,`TreeView`控件的使用不仅限于与`DataGridView`的结合,还可以与其他控件配合,如`TabControl`,或者通过拖放操作实现文件管理器的功能。`TreeView`控件的灵活性和强大功能使其成为.NET开发中的重要...

    功能齐备的treeview控件

    在IT领域,treeview控件是一种常见的用户界面元素,它用于以树形结构展示数据,使得用户可以方便地浏览和操作层级关系的数据。本篇将详细探讨dojo库中的treeview控件,以及如何利用它来实现功能完备的树视图。 Dojo...

    Winform TreeView控件无限分级绑定数据&获取选项

    Winform TreeView控件基础 `TreeView`控件允许展示一个可折叠和展开的节点树,每个节点可以包含子节点。通过`TreeNode`类,我们可以创建和操作这些节点。`TreeView`控件的常用属性包括: - `Nodes`: 存储根节点的...

    c#语言asp.net实现treeview控件读数据库动态生成树

    根据提供的标题、描述、标签及部分内容,我们可以详细探讨如何利用C#与ASP.NET技术实现TreeView控件从数据库中动态生成树形结构。 ### 一、背景介绍 在Web开发中,TreeView 控件是一种非常有用的工具,它可以帮助...

    如何:使用TreeView控件实现树结构显示及快速查询

    本篇文章将详细介绍如何利用TreeView控件来高效地实现树结构的显示,并提供快速查找树节点的方法。此外,还将探讨一种通用的树结构数据存储方案,以便于更好地管理和操作这些树状数据。 #### 使用TreeView控件实现...

    VB TreeView实例

    本篇文章将深入探讨如何在VB中使用TreeView控件,包括其基本概念、主要属性、方法和事件,以及如何创建和操作树视图实例。 ### 1. TreeView控件介绍 TreeView控件是一个图形界面元素,它由一系列可展开/折叠的节点...

Global site tag (gtag.js) - Google Analytics