深入.NET平台和C#编程.第九章:文件操作.上机练习3-5

--------------------------------------------------MyFile类--------------------------------------------------

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace Shangjilx3
 8 {
 9     public class MyFile
10     {
11         //文件名
12         public string Name { get; set; }
13 
14         //文件类型
15         public string Type { get; set; }
16 
17         //文件大小
18         public double Length { get; set; }
19 
20         //文件路径
21         public string Path { get; set; }
22     }
23 }
MyFile

--------------------------------------------------formzyglqi主窗体------------------------------------------

  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 Shangjilx3
 13 {
 14     public partial class formzyglqi : Form
 15     {
 16         public formzyglqi()
 17         {
 18             InitializeComponent();
 19         }
 20 
 21         List<MyFile> list = new List<MyFile>();
 22 
 23         /// <summary>
 24         /// 绑定ListView
 25         /// </summary>
 26         public void BindInfo()
 27         {
 28             try
 29             {
 30                 this.listView1.Items.Clear();
 31                 DirectoryInfo dir = new DirectoryInfo(this.treeView1.SelectedNode.Tag.ToString());
 32                 FileInfo[] dirs = dir.GetFiles();
 33 
 34                 foreach (FileInfo item in dirs)
 35                 {
 36                     MyFile my = new MyFile();
 37                     my.Length = item.Length;
 38                     my.Name = item.Name;
 39                     my.Path = item.FullName;
 40                     my.Type = item.Extension;
 41                     list.Add(my);
 42                     ListViewItem lv = new ListViewItem();
 43                     lv.Text = item.Name;
 44                     lv.SubItems.Add(item.Length.ToString());
 45                     lv.SubItems.Add(item.Extension);
 46                     lv.SubItems.Add(item.FullName);
 47                     this.listView1.Items.Add(lv);
 48                 }
 49             }
 50             catch (Exception)
 51             {
 52                 
 53             }
 54         }
 55 
 56         /// <summary>
 57         /// 初始化TreeView
 58         /// </summary>
 59         public void IniTreeView()
 60         {
 61             TreeNode tn = new TreeNode("D:/");
 62             tn.Tag = "D:/";
 63             this.treeView1.Nodes.Add(tn);
 64             DirectoryInfo info = new DirectoryInfo(this.treeView1.Nodes[0].Tag.ToString());
 65             DirectoryInfo[] dirs = info.GetDirectories();
 66             foreach (var item in dirs)
 67             {
 68                 TreeNode node = new TreeNode(item.ToString());
 69                 node.Tag = item.FullName;
 70                 this.treeView1.Nodes[0].Nodes.Add(node);
 71             }
 72             //展开所有树形节点
 73             this.treeView1.ExpandAll();
 74         }
 75 
 76 
 77         /// <summary>
 78         /// 窗口加载
 79         /// </summary>
 80         /// <param name="sender"></param>
 81         /// <param name="e"></param>
 82         private void formzyglqi_Load(object sender, EventArgs e)
 83         {
 84             IniTreeView();
 85         }
 86 
 87         private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
 88         {
 89             BindInfo();
 90         }
 91 
 92         /// <summary>
 93         /// 复制
 94         /// </summary>
 95         /// <param name="sender"></param>
 96         /// <param name="e"></param>
 97         private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
 98         {
 99             FolderBrowserDialog fbd = new FolderBrowserDialog();
100             DialogResult dr = fbd.ShowDialog();
101             string sourcePath = listView1.SelectedItems[0].SubItems[3].Text;
102             string desPath = null;
103             if (dr == DialogResult.OK)
104             {
105                 desPath = fbd.SelectedPath;
106                 desPath += "/" + listView1.SelectedItems[0].SubItems[0].Text;
107                 File.Copy(sourcePath , desPath);
108                 MessageBox.Show("复制成功");
109             }
110         }
111 
112          /// <summary>
113          /// 删除
114          /// </summary>
115          /// <param name="sender"></param>
116          /// <param name="e"></param>
117         private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
118         {
119             string oName = listView1.SelectedItems[0].Text;
120             string path = listView1.SelectedItems[0].SubItems[3].Text;
121             int index = oName.IndexOf(".");
122             string nName = oName.Substring(0 , index);
123             DialogResult result = MessageBox.Show("是否删除" + nName, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
124             if (result == DialogResult.Yes)
125             {
126                 File.Delete(path);
127                 MessageBox.Show("删除成功");
128                 BindInfo();
129             }
130         }
131 
132     }
133 }
formzyglqi

--------------------------------------------------运行结果--------------------------------------------------

原文地址:https://www.cnblogs.com/chenhui666/p/6725833.html