==============================================entity==============================================
-------------------------------------------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 ResourceManage.entity 8 { 9 /// <summary> 10 /// 文件类 11 /// </summary> 12 public class MyFile 13 { 14 /// <summary> 15 /// 文件名 16 /// </summary> 17 public string FileName { get; set; } 18 /// <summary> 19 /// 文件大小 20 /// </summary> 21 public long FileLength { get; set; } 22 /// <summary> 23 /// 文件类型 24 /// </summary> 25 public string FileType { get; set; } 26 /// <summary> 27 /// 文件路径 28 /// </summary> 29 public string FilePath { get; set; } 30 } 31 }
==============================================窗体==============================================
-------------------------------------------frmMain类-------------------------------------------

1 using ResourceManage.entity; 2 using System; 3 using System.Collections.Generic; 4 using System.ComponentModel; 5 using System.Data; 6 using System.Drawing; 7 using System.IO; 8 using System.Linq; 9 using System.Text; 10 using System.Threading.Tasks; 11 using System.Windows.Forms; 12 13 namespace ResourceManage 14 { 15 public partial class frmMain : Form 16 { 17 public frmMain() 18 { 19 InitializeComponent(); 20 } 21 22 private void frmMain_Load(object sender, EventArgs e) 23 { 24 Init(); 25 26 } 27 28 /// <summary> 29 /// 初始化 30 /// </summary> 31 public void Init() 32 { 33 //添加三个根节点 34 tvList.Nodes.Add(@"C:\"); 35 tvList.Nodes.Add(@"D:\"); 36 tvList.Nodes.Add(@"E:\"); 37 for (int i = 0; i < tvList.Nodes.Count; i++) 38 { 39 tvList.Nodes[i].Tag = tvList.Nodes[i].Text; 40 } 41 try 42 { 43 //遍历所有树节点(相当于盘) 44 for (int i = 0; i < tvList.Nodes.Count; i++) 45 { 46 DirectoryInfo di = new DirectoryInfo(tvList.Nodes[i].Text); 47 //返回当前目录的子目录 48 DirectoryInfo[] sonDi = di.GetDirectories(); 49 foreach (DirectoryInfo item in sonDi) 50 { 51 //创建节点对象 52 TreeNode tn = new TreeNode(); 53 //给节点赋属性 54 tn.Text = item.Name; 55 tn.Tag = item.FullName; 56 //树节点添加子节点 57 tvList.Nodes[i].Nodes.Add(tn); 58 59 } 60 } 61 62 //foreach (TreeNode item in tvList.Nodes) 63 //{ 64 // for (int i = 0; i < item.Nodes.Count; i++) 65 // { 66 67 // } 68 //} 69 } 70 catch (Exception ex) 71 { 72 } 73 } 74 75 /// <summary> 76 /// 绑定XX文件夹下的所有文件信息 77 /// </summary> 78 public void BangSonNodes() 79 { 80 try 81 { 82 83 DirectoryInfo di = new DirectoryInfo(tvList.SelectedNode.Tag.ToString()); 84 //获取选中文件夹下文件 85 FileInfo[] fis = di.GetFiles(); 86 List<MyFile> files = new List<MyFile>(); 87 foreach (FileInfo file in fis) 88 { 89 MyFile mf = new MyFile(); 90 mf.FileName = file.Name; 91 mf.FilePath = file.FullName; 92 mf.FileType = file.Extension; 93 mf.FileLength = file.Length; 94 files.Add(mf); 95 } 96 lvList.Items.Clear(); 97 98 foreach (MyFile item in files) 99 { 100 ListViewItem lvi = new ListViewItem(item.FileName); 101 lvi.SubItems.Add(item.FileLength.ToString()); 102 lvi.SubItems.Add(item.FileType); 103 lvi.SubItems.Add(item.FilePath); 104 lvList.Items.Add(lvi); 105 } 106 } 107 catch (Exception ex) 108 { 109 MessageBox.Show(ex.Message); 110 } 111 } 112 113 private void tvList_AfterSelect(object sender, TreeViewEventArgs e) 114 { 115 BangSonNodes(); 116 } 117 118 private void tvList_AfterExpand(object sender, TreeViewEventArgs e) 119 { 120 foreach (TreeNode node in tvList.SelectedNode.Nodes) 121 { 122 123 } 124 } 125 126 /// <summary> 127 /// 右键删除 128 /// </summary> 129 /// <param name="sender"></param> 130 /// <param name="e"></param> 131 private void tsmiDelete_Click(object sender, EventArgs e) 132 { 133 string oName = lvList.SelectedItems[0].Text; 134 string path = lvList.SelectedItems[0].SubItems[3].Text; 135 int index = oName.IndexOf("."); 136 string nName = oName.Substring(0, index); 137 DialogResult result = MessageBox.Show("是否删除" + nName, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question); 138 if (result == DialogResult.Yes) 139 { 140 File.Delete(path); 141 MessageBox.Show("删除成功"); 142 BangSonNodes(); 143 } 144 } 145 146 /// <summary> 147 /// 右键复制 148 /// </summary> 149 /// <param name="sender"></param> 150 /// <param name="e"></param> 151 private void tsmiCopy_Click(object sender, EventArgs e) 152 { 153 FolderBrowserDialog fbd = new FolderBrowserDialog(); 154 DialogResult result = fbd.ShowDialog(); 155 string sourcePath = lvList.SelectedItems[0].SubItems[3].Text; 156 string desPath = null; 157 if (result == DialogResult.OK) 158 { 159 desPath = fbd.SelectedPath; 160 desPath += "/" + lvList.SelectedItems[0].SubItems[0].Text; 161 File.Copy(sourcePath, desPath); 162 MessageBox.Show("复制成功"); 163 } 164 } 165 } 166 }