C# 仿windows资源管理器

效果如图:

 实现代码:

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 

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
任务管理器(Task Manager)是Windows操作系统自带的一款工具,它可以帮助用户监控和管理计算机上正在运行的程序和进程。用户可以通过打开任务管理器来查看当前运行的应用程序、进程、服务以及系统的性能状态。 任务管理器的主要功能包括四个方面:应用程序、进程、性能以及用户选项。 在“应用程序”选项卡下,用户可以看到当前正在打开的应用程序窗口。通过这个选项卡,用户可以方便地结束或切换应用程序。 在“进程”选项卡下,用户可以看到所有正在运行的进程。每个进程都有一个唯一的进程ID(PID),用户可以通过进程ID来结束或调整优先级。 在“性能”选项卡下,用户可以实时监控计算机的性能状态。包括CPU、内存、磁盘和网络的使用情况。用户可以通过这个选项卡来了解计算机的负载情况,从而做出相应的调整。 在“用户选项”选项卡下,用户可以查看当前登录计算机的用户以及每个用户的会话信息。用户可以通过这个选项卡来注销或切换用户。 除了以上的功能,任务管理器还具有其他功能,例如启动应用程序、结束进程、打开注册表编辑器、打开网络连接等。 总之,任务管理器是一个非常实用的工具,它可以帮助用户更好地管理和调整计算机的运行状态,提高计算机的工作效率。无论是普通用户还是专业人士,任务管理器都是一个不可或缺的工具。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你懂的11

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值