C#资源管理器(基本版)

  • 背景

  1. TreeView
  2. ListView
  3. 文件操作
  • 用到的语句

  1. TreeView
    1. 1TreeNode tn = new TreeNode(item.Name);//括号里是文本内容

              1. 2 treeView1.Nodes.Add(tn);

      2. ListView

                2.1      

public class MyFile

    {

        public float FileLength { get; set; }//文件长度(KB)

        public string FileName { get; set; }//文件名

        public string FilePath { get; set; }//文件路径

        public string FileType { get; set; }//文件类型}

                2.2 添加操作

                ListViewItem lv = new ListViewItem(em.FileName);

                lv.SubItems.Add(em.FileLength.ToString());  

                //subItems为每一类添加内容

                lv.SubItems.Add(em.FileType);

                lv.SubItems.Add(em.FilePath);

                listView1.Items.Add(lv);

                2.3  删除操作

                File.Delete(delepath);

                 listView1.Items.Remove(listView1 .FocusedItem);

                MessageBox.Show("删除成功");

                2.4 获取路径

                string sourcepath = listView1.SelectedItems[0].SubItems[3].Text;

  1. 文件操作
    1. DriveInfo[] di = DriveInfo.GetDrives(); //获取磁盘内容
    2. DirectoryInfo directoryInfo = new DirectoryInfo("D:\\test");//文件夹操作,创建文件夹实例
    3. DirectoryInfo[] dirs = dir.GetDirectories();//返回当前文件夹的子文件夹
    4. FileInfo[] fi = dir.GetFiles();//FileInfo文件类,进行文件操作,此句即为从文件夹中获取并返回文件列表
    5. File.Delete(delepath);//删除文件
    6. 参数一:要复制的文件路径;参数二:复制出来的新的文件路径及文件名字

                        File.Copy(sourcepath, despath);

​​​​​​               7. ​Process.Start(openpath);//打开文件

  • 步骤

  • step1 建立窗口

         step2.获取磁盘驱动器信息

   private void Form1_Load(object sender, EventArgs e){DriveInfo[] di = DriveInfo.GetDrives();foreach (DriveInfo item in di){TreeNode tn = new TreeNode(item.Name);tn.Tag = item.Name;treeView1.Nodes.Add(tn);}}

         step3.建立MyFile类,用于存储列表中的文件信息

public class MyFile{public float FileLength { get; set; }//文件长度(KB)public string FileName { get; set; }//文件名public string FilePath { get; set; }//文件路径public string FileType { get; set; }//文件类型}

         step4.显示子节点和列表中的项

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e){TreeNode node = this.treeView1.SelectedNode;this.BindInfo(node);}private void BindInfo(TreeNode node){//clearlistView1.Items.Clear();//bind child contentsDirectoryInfo dir = new DirectoryInfo(node.Tag.ToString());//获取当前选中文件夹的实例DirectoryInfo[] dirs = dir.GetDirectories();//获取当前文件夹的子文件夹foreach (DirectoryInfo di in dirs)//循环为每个子文件夹创立结点{TreeNode temp = new TreeNode();temp.Text = di.Name;temp.Tag = di.FullName;node.Nodes.Add(temp);//添加到树中}FileInfo[] fi = dir.GetFiles();//返回文件夹中的所有子文件List<MyFile> files = new List<MyFile>();//files'messageforeach(FileInfo myFile in fi)//循环存储每个子文件的文件信息{MyFile mf = new MyFile();mf.FileName = myFile.Name;mf.FileLength = myFile.Length;mf.FileType = myFile.Extension;mf.FilePath = myFile.FullName;files.Add(mf);//存到List容器中}foreach(MyFile em in files)//为每个List中的文件创造ListVIew中的项{ListViewItem lv = new ListViewItem(em.FileName);lv.SubItems.Add(em.FileLength.ToString());//添加列中的具体内容lv.SubItems.Add(em.FileType);lv.SubItems.Add(em.FilePath);listView1.Items.Add(lv);}}

        step5.删除操作

     private void 删除ToolStripMenuItem_Click(object sender, EventArgs e){string delepath = listView1.SelectedItems[0].SubItems[3].Text;try{File.Delete(delepath);listView1.Items.Remove(listView1 .FocusedItem);MessageBox.Show("删除成功");}catch (Exception ex){MessageBox.Show(ex.Message);}}

        step6.复制操作

private void 复制ToolStripMenuItem_Click(object sender, EventArgs e){if(listView1 .SelectedItems .Count ==0){MessageBox.Show("请选中一个文件");return;}FolderBrowserDialog fbd = new FolderBrowserDialog();DialogResult result = fbd.ShowDialog();string sourcepath = listView1.SelectedItems[0].SubItems[3].Text;string despath = null;if(result==DialogResult.OK){despath = fbd.SelectedPath;despath += "\\" + listView1.SelectedItems[0].SubItems[0].Text;try{File.Copy(sourcepath, despath);MessageBox.Show("复制成功");}catch (Exception ex){MessageBox.Show(ex.Message);}}}

  step6.复制操作

 private void button1_Click(object sender, EventArgs e){string openpath = listView1.SelectedItems[0].SubItems[3].Text;try{               //打开文件Process.Start(openpath);}catch (Exception ex){MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);}}

运行实况

 

 主窗口全部代码

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;
using System.Diagnostics;namespace 资源管理laplace
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){DriveInfo[] di = DriveInfo.GetDrives();foreach (DriveInfo item in di){TreeNode tn = new TreeNode(item.Name);tn.Tag = item.Name;treeView1.Nodes.Add(tn);}}private void treeView1_AfterSelect(object sender, TreeViewEventArgs e){TreeNode node = this.treeView1.SelectedNode;this.BindInfo(node);}private void BindInfo(TreeNode node){//clearlistView1.Items.Clear();//bind child contentsDirectoryInfo dir = new DirectoryInfo(node.Tag.ToString());//获取当前选中文件夹的实例DirectoryInfo[] dirs = dir.GetDirectories();//获取当前文件夹的子文件夹foreach (DirectoryInfo di in dirs)//循环为每个子文件夹创立结点{TreeNode temp = new TreeNode();temp.Text = di.Name;temp.Tag = di.FullName;node.Nodes.Add(temp);//添加到树中}FileInfo[] fi = dir.GetFiles();//返回文件夹中的所有子文件List<MyFile> files = new List<MyFile>();//files'messageforeach(FileInfo myFile in fi)//循环存储每个子文件的文件信息{MyFile mf = new MyFile();mf.FileName = myFile.Name;mf.FileLength = myFile.Length;mf.FileType = myFile.Extension;mf.FilePath = myFile.FullName;files.Add(mf);//存到List容器中}foreach(MyFile em in files)//为每个List中的文件创造ListVIew中的项{ListViewItem lv = new ListViewItem(em.FileName);lv.SubItems.Add(em.FileLength.ToString());//添加列中的具体内容lv.SubItems.Add(em.FileType);lv.SubItems.Add(em.FilePath);listView1.Items.Add(lv);}}private void 删除ToolStripMenuItem_Click(object sender, EventArgs e){string delepath = listView1.SelectedItems[0].SubItems[3].Text;try{File.Delete(delepath);listView1.Items.Remove(listView1 .FocusedItem);MessageBox.Show("删除成功");}catch (Exception ex){MessageBox.Show(ex.Message);}}private void 复制ToolStripMenuItem_Click(object sender, EventArgs e){if(listView1 .SelectedItems .Count ==0){MessageBox.Show("请选中一个文件");return;}FolderBrowserDialog fbd = new FolderBrowserDialog();DialogResult result = fbd.ShowDialog();string sourcepath = listView1.SelectedItems[0].SubItems[3].Text;string despath = null;if(result==DialogResult.OK){despath = fbd.SelectedPath;despath += "\\" + listView1.SelectedItems[0].SubItems[0].Text;try{File.Copy(sourcepath, despath);MessageBox.Show("复制成功");}catch (Exception ex){MessageBox.Show(ex.Message);}}}private void listView1_SelectedIndexChanged(object sender, EventArgs e){}private void button1_Click(object sender, EventArgs e){string openpath = listView1.SelectedItems[0].SubItems[3].Text;try{               //打开文件Process.Start(openpath);}catch (Exception ex){MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);}}}public class MyFile{public float FileLength { get; set; }//文件长度(KB)public string FileName { get; set; }//文件名public string FilePath { get; set; }//文件路径public string FileType { get; set; }//文件类型}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/353278.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

工具管理(资源管理)

子产品介绍篇--资源管理 产品定义 工具管理是对使用的工具进行领用、使用、 保管、修复而进行的有关组织管理工作。工具管理的范围很广&#xff0c;从物品方面来说&#xff0c;包括但不限于 机加行业中的各种刃具、量具、夹具、模具、磨具、装配工具、辅助工具&#xff1b;电…

解决win10资源管理器突然占用cpu过高问题

1.需要关闭家庭组&#xff0c;新版win10已经没有HomeGroup Listener和HomeGroup Provider&#xff0c;取而代之的是需要将这三项禁止&#xff1a; 2.工欲善其事必先利其器&#xff0c;本菜鸡想要找到到底是什么原因造成了windows资源管理器的cpu占用率飙升&#xff08;也就是…

文件资源管理器

1. 选中一个文件夹 程序源码&#xff1a; /*关键头文件*/ #include <shlobj.h> #include <atlstr.h>string SelectSingleDirectory() {CString strPath(_T(""));BROWSEINFO bi;bi.hwndOwner NULL;bi.pidlRoot CSIDL_DESKTOP; //文件夹的根目录…

Win11资源管理器(文件夹)出现的工具栏怎么隐藏?

如下&#xff1a;1.先右键白色的工具栏勾选锁定工具栏 2.右键开始->运行->regedit&#xff0c;打开注册表编辑器打开&#xff1a;计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced这个选项 注册表编辑器修改完之后这个白色的工具栏…

Windows10资源管理器使用

文章目录 前言二、关联菜单操作1.分组展示2.添加选择复选框3.使用窗格模式4.功能区折叠二、“文件夹选项”对话框操作1.访问模式调整2.状态栏控制总结前言 目前Windows系统中的使用较多当属Windows10,资源管理器属于Windows系统中一个常用工具。本文总结了Windows 10 专业版下…

文件资源管理器无法打开怎么办?

文件资源管理器是我们访问、修改、编辑存储在硬盘中的文件或文件夹的基础&#xff0c;一但无法打开&#xff0c;则会影响我们的正常使用。那么文件资源管理器无法打开该怎么办呢&#xff1f; 1、通过任务管理器重启资源管理器 Windows资源管理器&#xff08;explorer.exe&…

1、资源管理器

asset目录下有Scene、Script、Texture、animation、prefab、sound文件夹 Scene:存放场景文件&#xff0c;以.fire后缀命名&#xff0c;双击场景&#xff0c;层级管理器和场景编辑器都会发生变化&#xff0c;比如HelloWorld.fire Script:存放运行代码的位置&#xff0c;双击直…

【应用推荐】常见资源管理器整理,内含使用体验和个人使用推荐

【应用推荐】常见资源管理器整理&#xff0c;含个人使用体验和产品选型推荐 写在前面常见资源管理器介绍My Files-X FreeFiles APPQT tabbarCloverQ-dirTotal CommanderXYPlorerDirectory Opus 结语 写在前面 Windows 的资源管理器一直饱受诟病&#xff0c;尤其是近期更新到wi…

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

Windows资源管理器无限重启&#xff1f;Windows资源管理器无限重启教程 我们的电脑一个不留神&#xff0c;就很容易跑偏。程序有bug或是软件设计上有缺陷&#xff0c;会导致程序无限循环。在系统里有表现为Windows资源管理器无限重启的故障&#xff0c;这会快速耗尽电脑资源&am…

css:CSS 线性渐变linear-gradient

CSS 渐变使您可以显示两种或多种指定颜色之间的平滑过渡。 CSS 定义了两种渐变类型&#xff1a; 线性渐变&#xff08;向下/向上/向左/向右/对角线&#xff09;径向渐变&#xff08;由其中心定义&#xff09; 参考文档 CSS 线性渐变 https://www.w3school.com.cn/css/css3_…

程序员失业转行送外卖,晒出当天收入,还以为看错了!

在程序员的共识中&#xff0c;30岁之前自己是很受企业欢迎的&#xff0c;有经验有技术&#xff0c;能够为公司创造足够多的价值。 但是一旦超过了35岁&#xff0c;如果没有做到架构师或者成为管理人员&#xff0c;那很可能是连工作都找不到的。而且这个年龄的程序员还要面临着…

永不磨灭的设计模式(23种设计模式全集)

永不磨灭的设计模式 概述七大基本原则23种设计模式1、单例模式2、工厂(方法)模式3、抽象工厂模式4、原型模式5、建造者模式6、适配器模式7、桥接模式8、组合模式9、装饰器模式10、外观模式11、享元模式12、代理模式13、责任链模式14、命令模式15、迭代器模式16、中介者模式17、…

谁说菜鸟不会数据分析python pdf_谁说菜鸟不会数据分析Pdf完整版

展开全部 |下载地址du&#xff1a; ed2k://|zhifile|%5B%E8%B0%81%E8%AF%B4%E8%8F%9C%E9%B8%9F%E4%B8%8D%E4%BC%9A%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%28.%E5%85%A5%E9%97%A8%E7%AF%87%29%5D.%E5%BC%A0%E6%96%87%E9%9C%96.%E5%85%A8%E5%BD%A9%E7%8988.pdf|43230020|90ca9d…

《谁说菜鸟不会数据分析》学习笔记 第三章数据准备 第四章数据处理

这本书是基于Excel讲解的&#xff0c;顺便复习了下Excel的用法&#xff0c;笔记只记录我觉得有用的内容。 第一章 数据分析那些事儿 第二章 确定分析思路 第三章 数据准备 第四章 数据处理 第五章 数据分析 第六章 数据展现 第七章 图表优化 第八章 数据分析报告 第三章 数据…

谁说菜鸟不会数据分析-入门篇

第一章 数据分析那些事儿 1.1 数据分析是“神马” 数据分析是指用适当的统计分析方法对收集来的大量数据进行分析&#xff0c;将他们加以汇总和理解并消化&#xff0c;以求最大化地开发数据的功能&#xff0c;发挥数据的作用。数据分析是 为了提取有用信息和形成结论而对数据…

超级菜鸟怎么学习数据分析?

作者&#xff1a;陈老师&#xff0c;在咨询行业打拼了9年&#xff0c;在如何诊断经营问题、建立分析体系、解决专项问题上有超过30个大型项目积累与实战&#xff0c;天善智能特邀专家。 个人公众号&#xff1a;接地气学堂 博客&#xff1a;https://ask.hellobi.com/blog/chenwe…

Spyder 入门基础学习《谁说菜鸟不会数据分析》-方小敏著 读书笔记

写在前面&#xff1a;本文作者购买了《谁说菜鸟不会数据分析》-方小敏著 这本书&#xff0c;感觉写的非常好&#xff0c;遂作为日常读书笔记进行了记录。推荐使用python进行数据分析的初学者购买此书学习。 &#xff08;文章中部分内容来自推荐图书《谁说菜鸟不会数据分析》方…

谁说菜鸟不会数据分析python pdf_《谁说菜鸟不会数据分析》系列

2.png 3.png 4.png 5.png 6.png 7.png 1.png 什么是数据分析 用适当的统计分析方法对收集来的大量数据进行分析&#xff0c;将它们加以汇总和理解并消化&#xff0c;以求最大化地开发数据的功能 数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概况总结的过程 …

Python实现《谁说菜鸟不会数据分析(入门篇)》的案例

这段时间在学习Excel和Python相关内容&#xff0c;Excel数据分析入门有一本《谁说菜鸟不会数据分析&#xff08;入门篇&#xff09;》&#xff0c;内容细致&#xff0c;简洁易懂&#xff0c;注重培养分析的思维而不仅仅是告知方法。在学习Python过程中萌发了通过使用Python的方…

《谁说菜鸟不会数据分析》之数据分析

什么是数据分析&#xff1f; 顾名思义&#xff0c;数据分析就是对数据进行分析。 可是&#xff0c;数据分析的真正定义是什么呢&#xff1f; 数据分析是指利用适当的统计分析方法对收集来的大量数据进行分析&#xff0c;将他们加以汇总消化并理解&#xff0c;以最大化地开发…