using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 小型资源管理器
{
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 小型资源管理器
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
TreeNode tn;
private void Form1_Load(object sender, EventArgs e)
{
//检索计算机上的所有逻辑驱动器的驱动器名称。
DriveInfo[] di = DriveInfo.GetDrives();
foreach (DriveInfo item in di)
{
tn = new TreeNode(item.Name);
tn.Tag = item.Name;
tv01.Nodes.Add(tn);
}
} //单击绑定文件和文件夹信息
private void tv01_AfterSelect(object sender, TreeViewEventArgs e)
{
TreeNode tn= tv01.SelectedNode;
BingInfo(tn); } private void BingInfo(TreeNode tn)
{
//清空
lvlist.Items.Clear();
//绑定子目录
DirectoryInfo dic = new DirectoryInfo(tn.Tag.ToString());
DirectoryInfo[] info = dic.GetDirectories();
foreach (DirectoryInfo item in info)
{
TreeNode temp = new TreeNode();
temp.Text = item.Name;
temp.Tag = item.FullName;
tn.Nodes.Add(temp);
} //获取目录下文件列表
FileInfo[] fileinfo = dic.GetFiles();
//定义泛型集合存储文件信息
List<MyFile> files = new List<MyFile>();
//遍历文件列表
foreach (FileInfo it in fileinfo )
{ MyFile file = new MyFile();
file.FileName = it.Name;
file.FileLength = it.Length;
file.FileType = it.Extension;
file.FilePath = it.FullName;
files.Add(file);
}
//绑定到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 );
lvlist.Items.Add(lv);
} } //复制
private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
{
//判断是否选中
if (lvlist .SelectedItems .Count ==)
{
return;
}
//提示用户选择目标文件夹
FolderBrowserDialog fbd = new FolderBrowserDialog();
DialogResult result = fbd.ShowDialog();
//源文件路径
string sourcepath = lvlist.SelectedItems[].SubItems[].Text;
//目标文件路径
string despath = null;
//如果正确选择目标位置,执行复制操作
if (result==DialogResult .OK )
{
despath = fbd.SelectedPath;
//lvlist表示显示文件信息的ListView对象
despath += "\\" + lvlist.SelectedItems[].SubItems[].Text;
//复制文件
File.Copy(sourcepath ,despath );
MessageBox.Show("复制成功!");
} } //删除
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{ string delectpath= lvlist.SelectedItems[].SubItems [].Text ;
File.Delete(delectpath);
MessageBox.Show("删除成功!");
} }
}

C# 小型资源管理器的更多相关文章

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

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

  2. IO流的应用————小型资源管理器

    小型资源管理器 private void LoadTreeView() { DirectoryInfo dir = new DirectoryInfo(@"E:\"); Direc ...

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

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

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

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

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

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

  6. 360安全卫士造成Sharepoint文档库”使用资源管理器打开“异常

           备注:企业用户还是少用360为妙        有客户反馈:部门里的XP SP2环境客户机全部异常,使用资源管理器打开Sharepoint文档库,看到的界面样式很老土,跟本地文件夹不一样 ...

  7. Windows 7 在资源管理器中显示软件快捷方式

    该方法是利用资源管理器中储存网络位置的文件夹实现的, 不需要修改注册表. 效果如图: 操作方法: 在资源管理器中打开路径 "%appdata%\Microsoft\Windows\Netwo ...

  8. 修复 Windows7 资源管理器左侧收藏夹无法展开问题

    相信大家在网上搜多到的解决办法大多数都是修改注册表,但是这个办法多数是无效的 1.运行regedit 2.展开到HKEY_CLASSES_ROOT\lnkfile 3.添加一个字符串值:IsShort ...

  9. [No00009C]Visual Studio在 解决方案资源管理器 里同步定位打开的文件

    标题的意思就是在使用VS的时候,需要我们打开编辑的文件跟解决方案的资源管理器同步显示,这样方便定位到我们在修改哪个文件. 设置如下: 工具——选项——项目和解决方案——在解决方案资源管理器中跟踪活动项 ...

随机推荐

  1. ASP.NET控件绑定数据源

    DataList/GridView/Repeater DataSet表示数据集,其中包含表,约束和表之间的关系.与现有数据源的交互通过DataAdapter来控制. 源代码示例: SqlDataAda ...

  2. R语言学习笔记:小试R环境

    买了三本R语言的书,同时使用来学习R语言,粗略翻下来感觉第一本最好: <R语言编程艺术>The Art of R Programming <R语言初学者使用>A Beginne ...

  3. Sharepoint学习笔记—习题系列--70-573习题解析 -(Q127-Q130)

    Question 127You create a custom list named Products.You need to perform a Representational State Tra ...

  4. 安卓问题集-Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

    错误出现原因: 1.没有 AndroidManifest.xml file文件(出现几率较小) 2. 是你在外面修改了包名而在 AndroidManifest.xml file.文件中没有同步过去导致 ...

  5. OC中的复合

    #import <Foundation/Foundation.h> #import "Car.h" int main(int argc, const char * ar ...

  6. 斯坦福iOS7公开课1-3笔记及纸牌Demo

    1.MVC Model:模型 描述程序是什么,例如数据库操作之类的行文以及纸牌Demo里纸牌玩法都是写在Model这一层,通过Notification和KVO(后续文章会介绍)两种方式与Control ...

  7. window下使用vnc远程登录阿里云ECS/ubuntu图形界面

    通常我们都使用putty.secureCRT等软件来远程登录linux系统,但这些软件仅提供字符终端界面,若要像windows的远程桌面连接那样登录linux的图形界面,我们可以使用VNC这类的软件. ...

  8. paas架构之docker——容器进程管理

    1.docker进程管理 docker的进程管理命令ps的用法基本和ubuntu系统的用法一致 1.1. 查看docker进程 sudo docker ps –a 1.2. 附着到容器上 Sudo d ...

  9. Android开发艺术探索学习笔记(十一)

    第十一章  Android的线程和线程池 从用途上来说,线程分为子线程和主线程,主线程主要处理和界面相关的事情,而子线程往往用于执行耗时的操作.AsyncTask,IntentService,Hand ...

  10. 解决easy ui两次请求服务器的问题

    目前该问题已经在1.4.1版本中解决了 本文引用自:http://www.cnblogs.com/Reaver/p/4056770.html,原文博主:flyreaver 我在使用过程中遇到了easy ...