C# 小型资源管理器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 小型资源管理器
{
    public  class MyFile
    {
        public float  FileLength { get; set; }//文件长度(KB)
        public string  FileName { get; set; }//文件名
        public string  FilePath { get; set; }//文件路径
        public string  FileType { get; set; }//文件类型
    }
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace 小型资源管理器
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        TreeNode tn;
        private void Form1_Load(object sender, EventArgs e)
        {
            //检索计算机上的所有逻辑驱动器的驱动器名称。
            DriveInfo[] di = DriveInfo.GetDrives();
            foreach (DriveInfo item in di)
            {
                tn = new TreeNode(item.Name);
                tn.Tag = item.Name;
                tv01.Nodes.Add(tn);
            }
        }

        //单击绑定文件和文件夹信息
        private void tv01_AfterSelect(object sender, TreeViewEventArgs e)
        {
            TreeNode tn= tv01.SelectedNode;
            BingInfo(tn);

        }

        private void BingInfo(TreeNode tn)
        {
            //清空
            lvlist.Items.Clear();
            //绑定子目录
            DirectoryInfo dic = new DirectoryInfo(tn.Tag.ToString());
            DirectoryInfo[] info = dic.GetDirectories();
            foreach (DirectoryInfo item in info)
            {
                TreeNode temp = new TreeNode();
                temp.Text = item.Name;
                temp.Tag = item.FullName;
                tn.Nodes.Add(temp);
            }

            //获取目录下文件列表
            FileInfo[] fileinfo = dic.GetFiles();
            //定义泛型集合存储文件信息
            List<MyFile> files = new List<MyFile>();
            //遍历文件列表
            foreach (FileInfo  it in fileinfo )
            {

                MyFile file = new MyFile();
                file.FileName = it.Name;
                file.FileLength = it.Length;
                file.FileType = it.Extension;
                file.FilePath = it.FullName;
                files.Add(file);
            }
            //绑定到listview中
            foreach (MyFile  em in files )
            {
                ListViewItem lv = new ListViewItem(em.FileName );
                lv.SubItems.Add(em.FileLength.ToString () );
                lv.SubItems.Add(em.FileType );
                lv.SubItems.Add(em.FilePath );
                lvlist.Items.Add(lv);
            }

        }

        //复制
        private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //判断是否选中
            if (lvlist .SelectedItems .Count ==0)
            {
                return;
            }
            //提示用户选择目标文件夹
            FolderBrowserDialog fbd = new FolderBrowserDialog();
            DialogResult result = fbd.ShowDialog();
            //源文件路径
            string sourcepath = lvlist.SelectedItems[0].SubItems[3].Text;
            //目标文件路径
            string despath = null;
            //如果正确选择目标位置,执行复制操作
            if (result==DialogResult .OK )
            {
                despath = fbd.SelectedPath;
                //lvlist表示显示文件信息的ListView对象
                despath += "\\" + lvlist.SelectedItems[0].SubItems[0].Text;
                //复制文件
                File.Copy(sourcepath ,despath );
                MessageBox.Show("复制成功!");
            }

        }

        //删除
        private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
        {

            string delectpath= lvlist.SelectedItems[0].SubItems [3].Text ;
            File.Delete(delectpath);
            MessageBox.Show("删除成功!");
        }

    }
}
时间: 2024-12-23 00:37:13

C# 小型资源管理器的相关文章

IO流的应用————小型资源管理器

小型资源管理器 private void LoadTreeView() { DirectoryInfo dir = new DirectoryInfo(@"E:\"); DirectoryInfo[] dirs= dir.GetDirectories(); foreach (DirectoryInfo item in dirs) { TreeNode tn = new TreeNode(); tn.Text = item.Name; tn.Tag = item.FullName; th

初识IO流之小型资源管理器

初次接触到IO流,根据书本上的知识,加上自己的摸索,发现了一些好玩的事情.(书本上的知识或多或少,有时候不足以解决我们的问题!这时候我们就应该自己去求解!!! 所以我们学习的时候要抱有探索的精神,求知若渴是帮助我们获取更多知识的一种积极的精神态度,需要保持) 小型资源管理器 该项目主要是为了加载电脑磁盘中存在的所有文件夹和文件(directory,file) 这时候我遇到了第一个问题:书本上只有将指定的磁盘设为根节点,在窗体TreeView中添加该磁盘中的文件夹 (我去,那如果我的电脑上分了几十

自己动手做一个小型“资源管理器”吧

自己动手做一个小型“资源管理器”吧 注:tvDirectory是treeView控件,lvDirectory是listView控件 首先搭建一下界面: 左边是treeView控件,右边是listView控件.(listView的网格线只需把GridLins设置成True就可以了.) 由于要用到IO流,所以别忘了导入命名空间:using System.IO; 我们只要创建一个文件类就可以了: 1 public class MyFile 2 { 3 //文件长度 4 public float Fil

IO流之小型资源管理器概述

小型资源管理器完成示例图: 实现思路及关键代码用于参考 1.创建一个根节点 2.加载路径文件 3.加载所以文件 4.获取节点 5.文件或文件夹的复制

第九章,小型资源管理器

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace SmallResourceManager 8 { 9 public class MyFile 10 { 11 //文件名 12 public string Name { get;set; } 13 //文件类型 14 p

小型资源管理器,IO操作,读取和写入文件和目录的常用操作

解决方案: 小总结: 用IO流,的file,DirectoryInfo的方法绑定Treeview控件上和删除,读取, 可以熟练掌握一下IO流 主页面: 1 private void Form1_Load(object sender, EventArgs e) 2 { 3 4 //创建一个根节点 5 TreeNode root = new TreeNode(); 6 root.Text = "D:\\"; //显示的是文件夹名称(单独名称) 7 root.Tag = "D:\\

小型资源管理器

private void Form1_Load(object sender, EventArgs e)        {            //添加根            TreeNode tr = new TreeNode();            tr.Tag = "D:\\";  ///完整路径                tr.Text="D:\\";             treeView1.Nodes.Add(tr);        } pr

Win10重命名文件夹导致资源管理器卡顿的解决办法

我本机使用的是 Win10 1607,不清楚是因为什么原因导致重命名文件夹时资源管理器会被卡死,找了很长时间终于找到了解决办法,现在我把步骤粘出来以便后续遇到相同问题的朋友能及时解决. 其实操作很简单,只需要简单的三步: 1. 打开任意文件夹 2. 点击左上角菜单栏中的"文件"按钮,选择"更改文件夹和搜索选项",如下图所示: 3. 在弹出的文件夹选项窗口中,依次点击"清除文件资源管理器历史记录"后的"清除"按钮和"还

unity 资源管理器设计

资源管理器,顾名思义,就是管理游戏中的所有资源,包括加载资源,回收资源,销毁资源等等.下面这个资源管理器主要提供了对assetbundle异步加载功能,Resources的加载没有放在里面. 一.使用方法 1.在进入游戏前调用Init(),加载一个资源的名称列表 2.调用AsynGetAsset(string name, Action<UnityEngine.Object> callback)方法(异步) 说明,这里的资源列表是从bundle_list列表中解析出来的,并且有一个manifes