博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IO流的应用————小型资源管理器
阅读量:6863 次
发布时间:2019-06-26

本文共 2339 字,大约阅读时间需要 7 分钟。

小型资源管理器

    

 

 

       

 

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);
}

 

转载于:https://www.cnblogs.com/PGYXZ/p/4655939.html

你可能感兴趣的文章
k8s拾遗 - Secret
查看>>
Android SparseArray 原理解析
查看>>
PHP类的定义
查看>>
Composer 中国镜像地址配置
查看>>
Spring Data JPA
查看>>
easyUI的简单之处
查看>>
蓝牙协议学习---BLE地址类型
查看>>
Sass笔记
查看>>
MSSQL排序规则冲突
查看>>
MapReduce的手机流量统计的案例
查看>>
zabbix_get 命令介绍
查看>>
jQuery属性操作之类样式操作
查看>>
技术人员的发展之路
查看>>
简单易懂,原码,补码,反码
查看>>
maven项目打包额外lib目录
查看>>
浅谈javascript函数,变量声明及作用域
查看>>
IE8兼容问题
查看>>
决策树与随机森林
查看>>
Unity 透明窗体的创建
查看>>
UserLock实现金融服务业访问控制
查看>>