效果如图:

实现代码:

using System;
using System.IO;
using System.Windows.Forms;
using System.Configuration;namespace 磁盘管理
{public partial class frmMain : Form{private bool isfirst = true;private string path = ConfigurationManager.AppSettings["Path"].ToString();public frmMain(){InitializeComponent();PopulateTreeView();}private void PopulateTreeView(){TreeNode rootNode;DirectoryInfo info = new DirectoryInfo(path);if (info.Exists){rootNode = new TreeNode(info.Name);rootNode.Tag = info;GetDirectories(info.GetDirectories(), rootNode);treeView1.Nodes.Add(rootNode);}}private void GetDirectories(DirectoryInfo[] subDirs, TreeNode nodeToAddTo){TreeNode aNode;DirectoryInfo[] subSubDirs;foreach (DirectoryInfo subDir in subDirs){aNode = new TreeNode(subDir.Name, 0, 0);aNode.Tag = subDir;aNode.ImageKey = "folder";subSubDirs = subDir.GetDirectories();if (subSubDirs.Length != 0){GetDirectories(subSubDirs, aNode);}nodeToAddTo.Nodes.Add(aNode);}}private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e){TreeNode newSelected = e.Node;listView1.Items.Clear();DirectoryInfo nodeDirInfo = (DirectoryInfo)newSelected.Tag;ListViewItem.ListViewSubItem[] subItems;ListViewItem item = null;foreach (DirectoryInfo dir in nodeDirInfo.GetDirectories()){item = new ListViewItem(dir.Name, 0);subItems = new ListViewItem.ListViewSubItem[]{new ListViewItem.ListViewSubItem(item, "文件夹"),new ListViewItem.ListViewSubItem(item,dir.LastAccessTime.ToString("yyyy-MM-dd hh:mm:ss"))};item.SubItems.AddRange(subItems);listView1.Items.Add(item);}foreach (FileInfo file in nodeDirInfo.GetFiles()){item = new ListViewItem(file.Name, 1);string[] a = file.Name.Split('.');subItems = new ListViewItem.ListViewSubItem[]{ new ListViewItem.ListViewSubItem(item, FileType(a[a.Length-1])+" 文件"),new ListViewItem.ListViewSubItem(item,file.LastAccessTime.ToString("yyyy-MM-dd hh:mm:ss")),new ListViewItem.ListViewSubItem(item,GetString(file.Length))};item.SubItems.AddRange(subItems);listView1.Items.Add(item);}listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);}private void treeView1_BeforeSelect(object sender, TreeViewCancelEventArgs e){if (isfirst){e.Cancel = true;isfirst = false;}}private string FileType(string type){if (type == "dll")return "应用程序扩展";if (type == "exe")return "应用程序";return type;}//文件大小处理public string GetString(long b){const int GB = 1024 * 1024 * 1024;const int MB = 1024 * 1024;const int KB = 1024;if (b / GB >= 1){return Math.Round(b / (float)GB, 2) + "GB";}if (b / MB >= 1){return Math.Round(b / (float)MB, 2) + "MB";}if (b / KB >= 1){return Math.Round(b / (float)KB, 2) + "KB";}return b + "B";}}
}

文件的增删改,移动等功能自己研究吧,,,哈哈都是简单的文件控制功能

参考链接:treeview和listview使用

源码地址:https://pan.baidu.com/s/1gA8-nak43Zt4F9K0zmoQTg 提取码: v29k

C# 仿windows资源管理器相关推荐

  1. java实现Windows资源管理器

    这几天忙别的了,StatusBar存在的问题没来得及解决,也没出新东西.只好贴一个以前的作品救救场. 程序仅仅实现了仿Windows资源管理器的本地文件的浏览功能,不能通过"网上邻居&quo ...

  2. 简单的Windows资源管理器——Java版本

    一直有很多小伙伴私信我要社团管理系统的源码,这个暂时无法分享,根据社团管理系统文章的思路完全是可以自己写出来的哦~ 最近一个小伙伴私聊我需要一个java小程序,现将之前写的一个Windows资源管理器 ...

  3. 解决Windows资源管理器右键菜单打开EditPlus容易导致资源管理器无响应问题

    解决Windows资源管理器右键菜单打开EditPlus容易导致资源管理器无响应问题 参考文章: (1)解决Windows资源管理器右键菜单打开EditPlus容易导致资源管理器无响应问题 (2)ht ...

  4. windows资源管理器对文件右键未响应!电脑小白求救[哭唧唧]!!!

    windows资源管理器对文件右键未响应!电脑小白求救[哭唧唧]!!! 右键文件直接转圈圈无响应! windows资源管理器 对任何文件和文件夹右键都未响应,文件可以拷出到U盘:桌面右键正常,文件双击 ...

  5. Windows资源管理器

    在资源管理器中,选定多个非连续文件的操作为( ). A.按住Shift键,单击每一个要选定的文件图标 B.按住Ctrl键,单击每一个要选定的文件图标 C.先选中第一个文件,按住Shift键,再单击最后 ...

  6. win10 桌面(Windows 资源管理器)卡死的根本解决办法

    自从换上 Win10,桌面就经常卡死,网上很多文章都建议在任务管理器里面重启 "Windows 资源管理器",但只不是根本办法,没办法上网查找了一大通,发现一个可能根本解决的办法, ...

  7. 为什么说jsp被替代了_您说什么:最喜欢的Windows资源管理器替代品

    为什么说jsp被替代了 Earlier this week we asked you to share your favorite alternatives to Window's native fi ...

  8. 干货分享:Windows资源管理器无限重启?解决方法竟然是…

    Windows资源管理器无限重启?Windows资源管理器无限重启教程 我们的电脑一个不留神,就很容易跑偏.程序有bug或是软件设计上有缺陷,会导致程序无限循环.在系统里有表现为Windows资源管理 ...

  9. windows 2008 r2 sharepoint 2007 文档库 在windows资源管理器打开问题

    1. 在Windows2008 r2服务器管理器中安装"桌面体验"功能,服务管理器->功能->添加功能->桌面体验(需要重启).然后,确保网络客户端服务是运行的. ...

  10. Windows资源管理器占用CPU过高

    Hello,everyone! 我是鲁班·,一个热衷于科研和软开的胖子! 问题描述 系统 Win10家庭版 问题 Windows资源管理器占用CPU过高 原因 两天前的操作,可能引发此问题. 安装Vi ...

最新文章

  1. kali高速更新源以及主题修改方法
  2. python里面temp是啥-Python模块学习:tempfile 临时文件(夹)操作
  3. 阿里不让 MySQL 多表 Join ?我偏要!
  4. Flask框架(flask中的请求上下文和应用上下文,以及请求钩子的使用,Flask-Script 扩展命令行)
  5. PyTorch-模型
  6. seir模型matlab_疫情专题 | 传染病的经典数学模型
  7. python3的xpath_python3爬虫之xpath
  8. 学习日记day 10 : JavaScript秋风扫落叶第一期
  9. 大屏样式(全屏禁止滚动)
  10. 微信公众号开发——java后台开发(一)
  11. html鼠标悬停图片抖动,鼠标悬停时图像抖动
  12. Kali 无法连接到网络
  13. WIN10 注册表添加启动项
  14. 单位换算:潜热通量(w/m2)转换为蒸散发(mm/s)
  15. nvidia驱动程序下载类型怎么选?
  16. 【面试】Java 并发编程
  17. springboot奥运会志愿者管理系统
  18. python 基础系列(十二) — python正则
  19. java如何实现多线程_Java中实现多线程的两种方式
  20. 第四章SignalR自托管主机

热门文章

  1. 计算机风扇维修,电脑风扇轴承磨损的简易维修方法
  2. lenovo L480 进入bios_利用微星主板自带的 M-Flash BIOS工具升级BIOS
  3. 非常易懂且全面的计算机科学概论知识总结
  4. wps word与office word相比的优缺点
  5. 一号教学楼供配电设计
  6. Python编程之输出素数
  7. python银行排队系统仿真_单片机实现银行排队叫号系统Proteus仿真
  8. 2021年最新超火外卖侠cps小程序,三级分销返利外卖领劵小程序源码,带电影票分销积分商城
  9. 2016专业版Excel PQ没有提取功能
  10. OPCUA-kepware读取工具安装及使用问题