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 }