小型资源管理器

创建个窗体  窗体实现如下:

再创个MyFile类  类中写上变量

在treeView中部分添加根节点

接着添加子节点也就是目录文件:
 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            TreeNode node = tvDirectory.SelectedNode;
            string tag = node.Tag.ToString();
            //创建目录对象
            DirectoryInfo di = new DirectoryInfo(tag);
            DirectoryInfo[] dirs = di.GetDirectories();
            node.Nodes.Clear();
            //循环绑定数据到TreeView中
            foreach (DirectoryInfo d in dirs)
            {
                TreeNode node2 = new TreeNode();
                node2.Text = d.Name;
                node2.Tag = d.FullName;
                node.Nodes.Add(node2);//把节点添加到当前选中的节点
            }
            //得到当前目录下的子文件
            FileInfo[] files = di.GetFiles();
            //清空原有数据
            lvFile.Items.Clear();
            //循环绑定数据到ListView中
            foreach (FileInfo fi in files)
            {
                ListViewItem lvi = new ListViewItem();
                lvi.Text = fi.Name;//文件名
                lvi.SubItems.Add(fi.Extension.Substring(1));//类型
                lvi.SubItems.Add((fi.Length / 1024.0).ToString());//大小
                lvi.SubItems.Add(fi.FullName);//完整路径
                lvFile.Items.Add(lvi);
            }

绑定listView中的文件叙述

 FileInfo[] files = di.GetFiles();
            //清空原有数据
            lvFile.Items.Clear();
            //循环绑定数据到ListView中
            foreach (FileInfo fi in files)
            {
                ListViewItem lvi = new ListViewItem();
                lvi.Text = fi.Name;//文件名
                lvi.SubItems.Add(fi.Extension.Substring(1));//类型
                lvi.SubItems.Add((fi.Length / 1024.0).ToString());//大小
                lvi.SubItems.Add(fi.FullName);//完整路径
                lvFile.Items.Add(lvi);

实现复制和删除:

 private void tsmiCopy_Click(object sender, EventArgs e)
        {
            if (lvFile.SelectedItems.Count > 0)
            {
                //浏览文件夹中的对话框
                FolderBrowserDialog fbd = new FolderBrowserDialog();
               DialogResult result= fbd.ShowDialog();
                //判断用户是否点了确定
               if (result==DialogResult.OK)
               {
                   string path1 = lvFile.SelectedItems[0].SubItems[3].Text;
                   string path=fbd.SelectedPath+"//"+lvFile.SelectedItems[0].Text;//文件夹+文件名
                   File.Copy(path1,path,true);//复制文件
                   MessageBox.Show("文件复制成功");
               }
            }
            else{
                MessageBox.Show("请选择要复制的文件");
            }
        }

        private void tsmiDelete_Click(object sender, EventArgs e)
        {
            if (lvFile.SelectedItems.Count > 0)
            {
                DialogResult result = MessageBox.Show("确定要删除嘛", "提示",
                  MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (result == DialogResult.OK)
                {
                    string path = lvFile.SelectedItems[0].SubItems[3].Text;
                    File.Delete(path);//删除文件
                    MessageBox.Show("删除成功");
                }
            }
            else {
                MessageBox.Show("请选择删除的文件");
            }
        }

原文地址:https://www.cnblogs.com/wuayn/p/8891723.html