第九章,小型资源管理器

 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          public string Type { get; set; }
15          //文件大小
16          public double FileSize { get; set; }
17          //文件路径
18          public string Path { get; set; }
19     }
20 }

MyFile

  1 using System;
  2 using System.Collections.Generic;
  3 using System.ComponentModel;
  4 using System.Data;
  5 using System.Drawing;
  6 using System.IO;
  7 using System.Linq;
  8 using System.Text;
  9 using System.Threading.Tasks;
 10 using System.Windows.Forms;
 11
 12 namespace SmallResourceManager
 13 {
 14     public partial class FrmMian : Form
 15     {
 16         public FrmMian()
 17         {
 18             InitializeComponent();
 19         }
 20         List<MyFile> myFile = new List<MyFile>();
 21         public void BindFile()
 22         {
 23             try
 24             {
 25                 this.lvResource.Items.Clear();
 26                 DirectoryInfo di = new DirectoryInfo(this.tvResourceList.SelectedNode.Tag.ToString());
 27                 FileInfo[] dirs = di.GetFiles();
 28
 29                 foreach (FileInfo item in dirs)
 30                 {
 31                     MyFile my = new MyFile();
 32                     my.FileSize = item.Length;
 33                     my.Name = item.Name;
 34                     my.Path = item.FullName;
 35                     my.Type = item.Extension;
 36                     myFile.Add(my);
 37                     ListViewItem lv = new ListViewItem(item.Name);
 38                     //lv.Text = item.Name;
 39                     lv.SubItems.Add(item.Length.ToString());
 40                     lv.SubItems.Add(item.Extension);
 41                     lv.SubItems.Add(item.FullName);
 42                     this.lvResource.Items.Add(lv);
 43                 }
 44
 45             }
 46             catch (Exception)
 47             {
 48
 49             }
 50         }
 51         /// <summary>
 52         /// 初始TreeView
 53         /// </summary>
 54         public void IniTreeView()
 55         {
 56             TreeNode tn = new TreeNode("D:/");
 57             tn.Tag = "D:/";
 58             this.tvResourceList.Nodes.Add(tn);
 59             DirectoryInfo info = new DirectoryInfo(this.tvResourceList.Nodes[0].Tag.ToString());
 60             DirectoryInfo[] dirs = info.GetDirectories();
 61             foreach (var item in dirs)
 62             {
 63                 TreeNode node = new TreeNode(item.ToString());
 64                 node.Tag = item.FullName;
 65                 this.tvResourceList.Nodes[0].Nodes.Add(node);
 66             }
 67             //展开所有树形节点
 68             this.tvResourceList.ExpandAll();
 69
 70         }
 71         /// <summary>
 72         /// 加载资源节点
 73         /// </summary>
 74         /// <param name="sender"></param>
 75         /// <param name="e"></param>
 76         private void FrmMian_Load(object sender, EventArgs e)
 77         {
 78             IniTreeView();
 79         }
 80         /// <summary>
 81         /// 选中节点后绑定listView
 82         /// </summary>
 83         /// <param name="sender"></param>
 84         /// <param name="e"></param>
 85         private void tvResourceList_AfterSelect(object sender, TreeViewEventArgs e)
 86         {
 87             BindFile();
 88         }
 89         /// <summary>
 90         /// 复制
 91         /// </summary>
 92         /// <param name="sender"></param>
 93         /// <param name="e"></param>
 94         private void tsmiCopy_Click(object sender, EventArgs e)
 95         {
 96             if (lvResource.SelectedItems.Count > 0)
 97             {
 98             FolderBrowserDialog fbd = new FolderBrowserDialog();
 99             DialogResult dresult = fbd.ShowDialog();
100             string sourcePath = this.lvResource.SelectedItems[0].SubItems[3].Text;//根路径
101             string desPath = null;//指定路径
102             if (dresult == DialogResult.OK)
103             {
104                 desPath = fbd.SelectedPath;
105                 desPath += "/" + lvResource.SelectedItems[0].SubItems[0].Text;
106                 File.Copy(sourcePath, desPath);
107                 MessageBox.Show("复制成功");
108             }
109             }
110             else
111             {
112                 MessageBox.Show("请选择要操作的文件!!");
113             }
114         }
115         /// <summary>
116         /// 删除
117         /// </summary>
118         /// <param name="sender"></param>
119         /// <param name="e"></param>
120         private void tsmiDel_Click(object sender, EventArgs e)
121         {
122             if (lvResource.SelectedItems.Count > 0)
123             {
124                 string DName = lvResource.SelectedItems[0].Text;
125             string path = lvResource.SelectedItems[0].SubItems[3].Text;
126             int index = DName.IndexOf(".");
127             string nName = DName.Substring(0, index);
128             DialogResult result = MessageBox.Show("是否删除" + nName, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
129             if (result == DialogResult.Yes)
130             {
131                 File.Delete(path);
132                 MessageBox.Show("删除成功");
133                 BindFile();
134             }
135             }
136             else
137             {
138                 MessageBox.Show("请选择要操作的文件!!");
139             }
140
141         }
142     }
143 }

窗体

时间: 2024-10-06 19:47:48

第九章,小型资源管理器的相关文章

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中添加该磁盘中的文件夹 (我去,那如果我的电脑上分了几十

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; }//文件名 pu

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

自己动手做一个小型“资源管理器”吧 注: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.文件或文件夹的复制

第九章.处理器映射器和适配器

本次课程在 第八章 基础上进行的!!! 非注解的处理器映射器和适配器 一.SimpleUrlHandlerMapping 找到springmvc.xml文件 找到下面的代码进行注释 <!-- <bean name="/query_test.action" class="cn.com.mvc.controller.FruitControllerTest"></bean> --> <!-- <bean class=&quo

小型资源管理器,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

操作系统思考 第九章 线程

第九章 线程 作者:Allen B. Downey 原文:Chapter 9 Threads 译者:飞龙 协议:CC BY-NC-SA 4.0 当我在2.3节提到线程的时候,我说过线程就是一种进程.现在我会更仔细地解释它. 当你创建进程时,操作系统会创建一块新的地址空间,它包含text段.static段.和堆区.它也会创建新的"执行线程",这包括程序计数器和其它硬件状态,以及运行时栈. 我们目前为止看到的进程都是"单线程"的,也就是说每个地址空间中只运行一个执行线程