小型资源管理器

    

       

private void LoadTreeView()
{
  DirectoryInfo dir = new DirectoryInfo(@"E:\");
  DirectoryInfo[] dirs= dir.GetDirectories();
  foreach (DirectoryInfo item in dirs)
  {
    TreeNode tn = new TreeNode();
    tn.Text = item.Name;
    tn.Tag = item.FullName;
    this.treeView1.Nodes.Add(tn);
  }

}
private void Form1_Load(object sender, EventArgs e)
{
  LoadTreeView();

}
private void BindInfo(TreeNode node)
{
  DirectoryInfo dir = new DirectoryInfo(node.Tag.ToString());
  DirectoryInfo[] dirs = dir.GetDirectories();
  foreach (DirectoryInfo item in dirs)
  {
    TreeNode tn = new TreeNode();
    tn.Text = item.Name;
    tn.Tag = item.FullName;
    node.Nodes.Add(tn);
  }
  FileInfo[] fileInfo = dir.GetFiles();
  List<MyFile> files = new List<MyFile>();
  foreach (FileInfo item in fileInfo)
  {
    MyFile file = new MyFile();
    file.FileName = item.Name;
    float value = item.Length;
    file.FileLength = float.Parse(Math.Round(value / 1024, 2).ToString());
    file.FileType = item.Extension;
    file.FilePath = item.FullName;
    files.Add(file);
  }
  if (this.listView1.Items!=null)
  {
    this.listView1.Items.Clear();
  }
  foreach (MyFile item in files)
  {
    ListViewItem lvItem = new ListViewItem(item.FileName);
    lvItem.SubItems.Add(item.FileLength.ToString());
    lvItem.SubItems.Add(item.FileType);
    lvItem.SubItems.Add(item.FilePath);
    this.listView1.Items.Add(lvItem);
  }
}

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{

    TreeNode node = this.treeView1.SelectedNode;
    BindInfo(node);

}

private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
{
  DialogResult result= folderBrowserDialog1.ShowDialog();
  if (result==DialogResult.OK)
  {
    string sourcePath = this.listView1.SelectedItems[0].SubItems[3].Text;
    string desPath = folderBrowserDialog1.SelectedPath;
    desPath += "\\" + this.listView1.SelectedItems[0].SubItems[0].Text;
    File.Copy(sourcePath, desPath);
    MessageBox.Show("复制成功!!!");
  }
}

private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
    string sourcePath = this.listView1.SelectedItems[0].SubItems[3].Text;
    File.Delete(sourcePath);
    MessageBox.Show("删除成功!!");
    TreeNode node = this.treeView1.SelectedNode;
    BindInfo(node);
}

IO流的应用————小型资源管理器的更多相关文章

  1. 初识IO流之小型资源管理器

    初次接触到IO流,根据书本上的知识,加上自己的摸索,发现了一些好玩的事情.(书本上的知识或多或少,有时候不足以解决我们的问题!这时候我们就应该自己去求解!!! 所以我们学习的时候要抱有探索的精神,求知 ...

  2. C# 小型资源管理器

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  3. 实现1.双击自动关联文件类型打开 2.PC所有驱动器 3.小型资源管理器

    感谢各位这里实现:双击自动关联文件类型打开 2.PC所有驱动器 3.小型资源管理器!! 首先主页面: 2.运用DriveInfo驱动器的信息:获得整个系统磁盘驱动!!,运用frorach循环遍历到Tr ...

  4. 小型资源管理器,IO操作,读取和写入文件和目录的常用操作

    解决方案: 小总结: 用IO流,的file,DirectoryInfo的方法绑定Treeview控件上和删除,读取, 可以熟练掌握一下IO流 主页面: private void Form1_Load( ...

  5. 11 IO流(八)——装饰器设计模式,Filter装饰流

    声明:本文部分图片及内容引用自:https://www.cnblogs.com/qiumingcheng/p/5219631.html java装饰器设计模式 举一个形象的例子,人可以说话,而扩音器可 ...

  6. 小型资源管理器之动态添加TreeView节点

    FrmMain主界面 using System; using System.Collections.Generic; using System.ComponentModel; using System ...

  7. Java IO流以及装饰器模式在其上的运用

    流概述 Java中,流是一种有序的字节序列,可以有任意的长度.从应用流向目的地称为输出流,从目的地流向应用称为输入流. Java的流族谱 Java的 java.io 包中囊括了整个流的家族,输出流和输 ...

  8. java IO流详解

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  9. IO流

    流的概念和作用 学习JavaIO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特 ...

随机推荐

  1. MateSublg

    MateSublg 说明 使用MetaWeblog的方式提交文章,并自动上传图片. 本插件的官方地址:MateSublg – Sollyu博客 本插件的开源地址:sollyu / MetaSubolg ...

  2. QT5.0.1在Windows下 出现QApplication: No such file or directory 问题的解决办法

    第一个Qt 程序 环境window ,ide qt creator 新建一个 C++ 项目 > 新建一个main.cpp 输入如下代码 #include<QApplication> ...

  3. centos 不支持mysql

    感觉是php-odbc必须装 yum -y install php php-fpm yum –y install php-mysql php-common php-mbstring php-gd ph ...

  4. find命令使用, -exec xargs

    find [path]   [expression] 例如:find  /home  -name  \*.o  -exec rm '{}' \; find: 实时精确,支持众多查找标准,遍历指定目录中 ...

  5. EF初始化mysql数据库codefirst

    EF使用Code First修改生成数据库表名的方法 1. 重写OnModelCreating,去掉表名复数 System.Data.Entity.ModelConfiguration.Convent ...

  6. 使用css3实现文章新闻列表排行榜(数字)

    列举几个简单的文章排行榜数字效果 一:使用list-style来显示数字.圆点.字母或者图片 <style> li{width:300px; border-bottom: 1px dott ...

  7. AppDomain(1)-AppDomainSetup

  8. c++模板实例化的一个例子

    以下是c++模板实例化的一个例子,虽然ObjectList::clear()里面调用的test()函数是没有定义的,但是以下代码能够编译通过,可见ObjectList::clear()未编译: tem ...

  9. python类库26[web2py之基本概念]

    一 web2py的应用的执行环境Models,Controllers和views所在的执行环境中,以下对象已经被默认地导入: Global Objects:  request,response,ses ...

  10. iOS开发之自定义控制器切换

    iOS8以后, 苹果公司推出了UIPresentationController, 通过其(presentedController 和 presentingController)来控制modal控制器操 ...