⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 查看各目录文件大小
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace 目录树
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            BuildTreeView(textBox1.Text);
        }
        string FileSizeString(long fileSize)
        {
            const long OneMB = 1024 * 1024;
            const long OneGB = OneMB * 1024;
            string unit;
            double dispSize;
            if (fileSize < 1024)
            {
                unit = "bytes";
                dispSize = fileSize;
                           
            }
            else if (fileSize < OneMB)
            {
                unit = "KB";
                dispSize = fileSize / 1024;
            }
            else if (fileSize < OneGB)
            {
                unit = "MB";
                dispSize = fileSize / OneMB;

            }
            else
            {
                unit = "GB";
                dispSize = fileSize / OneGB;
            }
            return string.Format("({0,4:F}",dispSize)+unit+")";
        }
        long AddDirectory(DirectoryInfo dir, TreeNode tNode)
        {
            FileSystemInfo[] fSIs = dir.GetFileSystemInfos();
            FileSystemInfo fSI;
            int i;
            long directorySize = 0;
            for (i = 0; i < fSIs.Length; i++)
            {
                fSI = fSIs[i];
                if (fSI.GetType() == typeof(FileInfo))
                {
                    FileInfo fInfo = (FileInfo)fSI;
                    string s = fInfo.Name + FileSizeString(fInfo.Length);
                    TreeNode newTreeNode = new TreeNode(s);
                    tNode.Nodes.Add(newTreeNode);
                    directorySize += fInfo.Length;
                
                }
                else if (fSI.GetType() == typeof(DirectoryInfo))
                {
                    DirectoryInfo dirInfo = (DirectoryInfo)fSI;
                    TreeNode dirTreeNode = new TreeNode(dirInfo.Name);
                    long dirSize = AddDirectory(dirInfo,dirTreeNode);
                    dirTreeNode.Text += FileSizeString(dirSize);
                    tNode.Nodes.Add(dirTreeNode);
                    directorySize += dirSize;
                
                }
                else
                MessageBox.Show("Ooops");
                }
                return directorySize;
        }
        private void BuildTreeView(string dirName)
        {
            DirectoryInfo dirInfo = new DirectoryInfo(dirName);
            TreeNode tNode = new TreeNode(dirName);
            long totalSize = AddDirectory(dirInfo,tNode);
            tNode.Text += FileSizeString(totalSize);
            treeView1.Nodes.Clear();
            treeView1.Nodes.Add(tNode);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -