1. 程式人生 > >大型檔案資源管理器 模擬電腦

大型檔案資源管理器 模擬電腦

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;
using System.IO;

namespace _09_小型資源管理器
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {

            TreeNode node = this.treeView1.SelectedNode;

            this.BindInfo(node);             
                   
        }

        //繫結資料  Treeview  單機選中後顯示所有列表和其子列表
        public void BindInfo(TreeNode node)
        {
            ListViewItem list = null;
            //this.listView1.SelectedNode.Nodes.Clear();
            DirectoryInfo di = new DirectoryInfo(node.Tag.ToString());
            DirectoryInfo[] dis = di.GetDirectories();

            foreach (DirectoryInfo item in dis)
            {
                TreeNode tn = new TreeNode();
                tn.Text = item.Name;
                tn.Tag = item.FullName;
                node.Nodes.Add(tn);
             
            }

            listView1.Items.Clear();

            FileInfo[] fio = di.GetFiles();       
            foreach (FileInfo myFiles in fio)
            {
                list = new ListViewItem(myFiles.Name);

                list.SubItems.Add(myFiles.Length.ToString());
                list.SubItems.Add(myFiles.Extension);
                list.SubItems.Add(myFiles.FullName);
                listView1.Items.Add(list);
            }
          
        }

        //手寫程式碼新增    在控制元件上直接新增
        private void Form1_Load(object sender, EventArgs e)
        {
            //TreeNode node = new TreeNode("E:\\");
            //node.Tag = "E:\\";
            //treeView1.Nodes.Add(node);
        }

        private void 複製ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.listView1.SelectedItems.Count == 0)
            {
                return;
            }
            FolderBrowserDialog fbd = new FolderBrowserDialog();
            DialogResult result = fbd.ShowDialog();
            string sourcePath = listView1.SelectedItems[0].SubItems[3].Text;
            string desPath = null;
            if (result == DialogResult.OK)
            {
                desPath = fbd.SelectedPath;
                desPath += "\\" + listView1.SelectedItems[0].SubItems[0].Text;
                File.Copy(sourcePath, desPath);
                MessageBox.Show("複製成功");
            }
        }

        private void 刪除ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("是否刪除該檔案", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
            {
                string sourcePath = listView1.SelectedItems[0].SubItems[3].Text;
                File.Delete(sourcePath);
                BindInfo(treeView1.SelectedNode);
                MessageBox.Show("刪除成功");
            }
        } 
        
           
       
    }
}