--------------------------------------------------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 }
--------------------------------------------------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 }
--------------------------------------------------运行结果--------------------------------------------------