运用treeview显示本地硬盘目录

转载 2012年03月21日 16:17:53
 
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using System.IO;


public partial class modal : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            fillTree();
        }
    }
    private void fillTree()
    {
        this.trMenu.Nodes.Clear();
        string[] str = Directory.GetLogicalDrives();//获取本地磁盘
        for (int k = 0; k < str.Length; k++)
        {
            TreeNode drivesNode = new TreeNode(str[k]);
           this.trMenu.Nodes.Add(drivesNode);//添加本地磁盘
            drivesNode.SelectAction = TreeNodeSelectAction.SelectExpand;//响应相应事件

            drivesNode.Expanded = false;//不显示节点
            DirectoryInfo thisOne = new DirectoryInfo(str[k]);
            if (str[k] == "A:\\")//判断移动盘
                drivesNode.Expanded = false;

            else if (str[k] != null)
            {
                try
                {
                    foreach (DirectoryInfo sub in thisOne.GetDirectories())//显示文件夹
                    {
                        if (sub.GetDirectories().Length > 0 || sub.GetFiles().Length > 0)
                        {
                            TreeNode subdirNode = new TreeNode(sub.Name);
                            subdirNode.Value = sub.FullName;
                            drivesNode.ChildNodes.Add(subdirNode);
                        }
                    }

                }
                catch
                {
                    continue;
                }
            }
        }

    }


    protected void trMenu_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
    {
        if (Page.IsPostBack)
        {
            e.Node.ChildNodes.Clear();

            DirectoryInfo dircld = new DirectoryInfo(e.Node.Value);

            foreach (DirectoryInfo sub in dircld.GetDirectories())
            {
                try
                {
                    if (sub.GetDirectories().Length > 0 || sub.GetFiles().Length > 0)
                    {
                        TreeNode subdirNode = new TreeNode(sub.Name);
                        subdirNode.Value = sub.FullName;
                        e.Node.ChildNodes.Add(subdirNode);

                        #region
                        DirectoryInfo dirsub = new DirectoryInfo(sub.FullName);

                        foreach (DirectoryInfo sub1 in dirsub.GetDirectories())
                        {
                            try
                            {
                                if (sub1.GetDirectories().Length > 0 || sub1.GetFiles().Length > 0)
                                {
                                    TreeNode subNode = new TreeNode(sub1.Name);
                                    subNode.Value = sub1.FullName;
                                    subdirNode.ChildNodes.Add(subNode);
                                }
                            }
                            catch
                            {
                                continue;
                            }
                        }

                        #endregion
                    }
                }
                catch
                {
                    continue;
                }
            }
        }

    }
    protected void trMenu_SelectedNodeChanged(object sender, EventArgs e)
    {
        TreeView trvw = (TreeView)sender;

        DirectoryInfo dircurrent = new DirectoryInfo(trvw.SelectedNode.Value);
        //string path = Path.GetFullPath(dircurrent.FullName.ToString());
        //FileInfo fi = new FileInfo(path);
        


        foreach (FileInfo fi in dircurrent.GetFiles())
        {
            if (fi.Extension.ToLower() == ".jpg" || fi.Extension.ToLower() == ".jpeg" || fi.Extension.ToLower() == ".bmp" || fi.Extension.ToLower() == ".gif" || fi.Extension.ToLower() == ".png")
            {
                string path = Path.GetFullPath(dircurrent.FullName.ToString());
                string aa = dircurrent.FullName.ToString() + @"\" + fi.Name.ToString();
                response.write(aa);
                

            }
        }
      
    }   
}


 

C# 系统应用之TreeView控件显示树状磁盘文件目录及加载图标

在C#系统应用毕设U盘防御软件中需要实现文件不可恢复的删除,首先需要实现类似于资源管理器的界面,通过TreeView控件显示"我的电脑"所有磁盘文件树状目录并加载相应图标.显示结果如下图所示: 一...
  • xiao190128
  • xiao190128
  • 2015年09月16日 10:44
  • 6384

C# 系统应用之TreeView控件 (一).显示树状磁盘文件目录及加载图标

文章主要讲述使用C# winForm实现类似于资源管理器的界面,通过TreeView控件显示"我的电脑"所有磁盘文件树状目录,包括"我的文档",所有盘符下子目录.同时通过ImageList加载不同类型...
  • Eastmount
  • Eastmount
  • 2014年02月19日 15:30
  • 22895

MFC 树形控件CTreeCtrl显示文件路径及文件

在上篇文章中简单讲述了"MFC单文档分割窗口显示图片",但是我想实现的是左边显示图片的路径,右边显示图片的情况,所以这里需要讲述如何使用控件List Control\CListCtrl实现该功能,希望...
  • Eastmount
  • Eastmount
  • 2014年02月13日 01:06
  • 14177

C#中使用treeview显示目录和文件的demo

  • 2014年11月30日 23:00
  • 40KB
  • 下载

# 系统应用之TreeView控件显示树状磁盘文件目录及加载图标

  • 2014年02月19日 15:38
  • 177KB
  • 下载

显示任意一个目录的文件到Treeview中

  • 2004年11月09日 07:24
  • 200KB
  • 下载

windows下显示硬盘目录树java源码

  • 2008年06月30日 17:05
  • 7KB
  • 下载

移动硬盘上的一个文件夹双击打开显示:文件或目录损坏且无法读取

文件或目录损坏且无法读取 我的移动硬盘上的文件夹AndroidBase,双击打开时显示:文件或目录损坏且无法读取,这时候不要慌,按照以下步骤做,就能恢复原样。 1.同时按下windows+R 键(或...
  • lemonCR7
  • lemonCR7
  • 2016年05月20日 21:56
  • 267

ASP.NET 中用TreeView实现树目录的实例

  • 2008年11月11日 14:03
  • 122KB
  • 下载

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

  • 2011年11月29日 17:31
  • 318KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:运用treeview显示本地硬盘目录
举报原因:
原因补充:

(最多只允许输入30个字)