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. This application is currently offline. To enable the application, remove the app_offline.htm file from the application root directory.

    IIS提示:This application is currently offline. To enable the application, remove the app_offline.htm f ...

  2. 解决SharePoint文档库文件在搜索结果页面显示的标题和文档的标题不一致问题(search result)

    问题表现: SharePoint 2013 爬网后,搜索一个文档,虽然搜到了,但是显示有点问题,如图: 原因分析: 造成该问题的原因是,该文档除了本身有一个名称外,在文档metadata的title属 ...

  3. [ html canvas 模仿支付宝刮刮卡效果 ] canvas绘图属性 模仿支付宝刮刮卡效果实例演示

    <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title ...

  4. Arcengine实现创建网络数据集札记(二)

    四 ArcEngine实现创建网络数据集 ArcEngine创建网络数据集的过程,与ArcMap设置的过程类似,主要通过六个步骤即可以实现. 1 定义网络数据集对象,并设置基本属性,包括网络数据集名称 ...

  5. 小波说雨燕 第三季 构建 swift UI 之 UI组件集-视图集(二)ActionSheet视图 学习笔记

    action动作 sheet表 其实就是一种菜单 参数:1代理:谁去代理它2取消按钮标题3这个按钮标题会自动变成红色4添加设置其他按钮(不想加,设置为nil)   然后我们为这些按钮添加点击事件:   ...

  6. Python 常用函数time.strftime()简介

    time.strftime()可以用来获得当前时间,可以将时间格式化为字符串等等   格式命令列在下面:(区分大小写) %a 星期几的简写%A 星期几的全称%b 月分的简写%B 月份的全称%c 标准的 ...

  7. 【mysql】一个关于order by排序的问题

    I have a table CREATE TABLE `tableMain` ( `id` int(11) NOT NULL AUTO_INCREMENT, `value1` varchar(45) ...

  8. DevExpress GridControl使用方法总结(转)

    一.如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 二.如何新增一条记录 (1).gridView.AddN ...

  9. Google Guava之--cache

    一.简介 Google Guava包含了Google的Java项目许多依赖的库,如:集合 [collections] .缓存 [caching] .原生类型支持 [primitives support ...

  10. Socket常见错误

    一.简介 本文介绍 Socket 连接常见错误.   二.常见错误 1)ECONNABORTED 描述:"software caused connection abort",即&q ...