zoukankan      html  css  js  c++  java
  • C#资源管理器

    窗体搭建:ContextMenuStrip右键菜单,Treeview树形菜单,Listview控件

    新建"我的文件"类:

    public class MyFile
        {
            public float FileLength { get; set; }//文件长度(KB)
            public string FileName { get; set; }//文件名
            public string FilePath { get; set; }//文件路径
            public string FileType { get; set; }//文件类型
        }

    主窗体全部代码:

    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.IO;
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void tvExplore_AfterSelect(object sender, TreeViewEventArgs e)
            {
                TreeNode node = this.tvExplore.SelectedNode;
                this.BindInfo(node);
            }
            //将目录绑定到Treeview中
            private void BindInfo(TreeNode node)
            {
                //清空
                lvInfo.Items.Clear();
                //绑定子目录
                DirectoryInfo dir = new DirectoryInfo(node.Tag.ToString());
                DirectoryInfo[] dirs = dir.GetDirectories();
                foreach (DirectoryInfo di in dirs)
                {
                    TreeNode temp = new TreeNode();
                    temp.Text = di.Name;
                    temp.Tag = di.FullName;
                    node.Nodes.Add(temp);
                }
                //获取目录下文件列表,dir是目录对象
                FileInfo [] fi = dir.GetFiles();
                //定义反省集合存储文件信息
                List<MyFile> files = new List<MyFile>();
                //遍历文件列表
                foreach (FileInfo myFile in fi)
                {
                    MyFile mf = new MyFile();
                    mf.FileName = myFile.Name;
                    mf.FileLength = myFile.Length;
                    mf.FileType = myFile.Extension;
                    mf.FilePath = myFile.FullName;
                    files.Add(mf);
                }
                //绑定到Listview中
                foreach (MyFile em in files)
                {
                    ListViewItem lv = new ListViewItem(em.FileName);
                    lv.SubItems.Add(em.FileLength.ToString());
                    lv.SubItems.Add(em.FileType);
                    lv.SubItems.Add(em.FilePath);
                    lvInfo.Items.Add(lv);
                }
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                //检索计算机上的所有逻辑驱动器的驱动器名称
                DriveInfo[] di = DriveInfo.GetDrives();
                foreach (DriveInfo item in di)
                {
                    TreeNode tn = new TreeNode(item.Name);
                    tn.Tag = item.Name;
                    tvExplore.Nodes.Add(tn);
                }
            }
            private void 复制文件ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                //判断是否选中,没选中return
                if (lvInfo.SelectedItems.Count == 0)
                {
                    MessageBox.Show("请选中一个文件");
                    return;
                }
                //提示用户选择目标文件夹
                FolderBrowserDialog fbd = new FolderBrowserDialog();
                DialogResult result = fbd.ShowDialog();
                //源文件路径
                string sourcepath = lvInfo.SelectedItems[0].SubItems[3].Text;
                //目标文件路径
                string despath = null;
                //如果正确选择目标位置,执行复制操作
                if (result == DialogResult.OK)
                {
                    despath = fbd.SelectedPath;
                    //lvlist表示显示文件信息的ListView对象
                    despath += "\" + lvInfo.SelectedItems[0].SubItems[0].Text;
                    //复制文件
                    try
                    {
                        File.Copy(sourcepath, despath);
                        MessageBox.Show("复制成功!");
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    
                }
            }
            private void 删除文件ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                string delectpath = lvInfo.SelectedItems[0].SubItems[3].Text;
                try
                {
                    File.Delete(delectpath);
                    MessageBox.Show("删除成功!");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                
            }
        }
    }
  • 相关阅读:
    小刘同学的第一百五十二篇日记
    小刘同学的第一百五十一篇日记
    小刘同学的第一百五十篇日记
    小刘同学的第一百五十篇日记
    小刘同学的第一百四十九篇日记
    小刘同学的第一百四十八篇日记
    小刘同学的第一百四十七篇日记
    小刘同学的第一百四十六篇日记
    小刘同学的第一百四十五篇博文
    自定义CollectionViewLayout
  • 原文地址:https://www.cnblogs.com/yn-yinian/p/7716593.html
Copyright © 2011-2022 走看看