zoukankan      html  css  js  c++  java
  • 小型资源管理器

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

    再创个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("请选择删除的文件");
                }
            }

  • 相关阅读:
    SQL Server事务执行一半出错是否自动回滚整个事务 【转】
    html5 canvas做的俄罗斯方块
    laravel-admin 模型创建、数据迁移、以及关联模型控制器
    laravel-admin 安装
    Composer 安装时要求输入授权用户名密码?
    查找mysql中未提交的事务
    SSH 登录时出现如下错误:No supported key exchange algorithms
    MySQL运行一段时间后自动停止问题的排查
    浅谈PHP中的数组和JS中的数组
    MySQL中使用group_concat()函数数据被截取(有默认长度限制),谨慎!
  • 原文地址:https://www.cnblogs.com/wuayn/p/8891723.html
Copyright © 2011-2022 走看看