实现1.双击自动关联文件类型打开 2.PC所有驱动器 3.小型资源管理器
感谢各位这里实现:双击自动关联文件类型打开 2.PC所有驱动器 3.小型资源管理器!!
首先主页面:

2.运用DriveInfo驱动器的信息:获得整个系统磁盘驱动!!,运用frorach循环遍历到Treeview控件中去。
private void DBA_Load(object sender, EventArgs e)
{ DriveInfo[] drivers = DriveInfo.GetDrives(); //获得整个系统磁盘驱动 //将盘符名加载到TreeView的顶级节点
foreach (DriveInfo driver in drivers)
{
TreeNode node = new TreeNode(driver.Name);
node.Tag = driver.Name;
this.tvlist.Nodes.Add(node);
}
}
3.将目录TreeView中和子目录绑到listView中
private void tvlist_AfterSelect(object sender, TreeViewEventArgs e)
{
//在tvlist选择的当前的节点
TreeNode node = this.tvlist.SelectedNode;
this.BindInfo(node);
}
//将目录TreeView中和子目录绑到listView中
public void BindInfo(TreeNode node)
{
//绑定子目录
DirectoryInfo directoryInfo = new DirectoryInfo(node.Tag.ToString());
//返回当前目录的子目录
DirectoryInfo[] dirc = directoryInfo.GetDirectories();
node.Nodes.Clear();
foreach (DirectoryInfo item in dirc)
{
TreeNode temp = new TreeNode();
temp.Text = item.Name;
temp.Tag = item.FullName;//完整的路径
node.Nodes.Add(temp);
}
//得到当前的子文件
FileInfo[] fi = directoryInfo.GetFiles();
//为了不让它重复出现
lvlist.Items.Clear();
//循环到listVilw中
foreach (FileInfo item in fi)
{
ListViewItem list = new ListViewItem();
list.Text = item.Name;//文件名字
list.SubItems.Add((item.Length / 1024.0).ToString());//大小
list.SubItems.Add(item.Extension);//类型 list.SubItems.Add(item.FullName);//路径
lvlist.Items.Add(list);
}
}4.鼠标点击右键有复制和删除功能:(folderBrowsDialog:提示用户选择目标文件夹)
private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
{
//复制文件
//浏览文件的对话框
if (this.lvlist.SelectedItems.Count == )
{
return;
}
//提示用户选择目标文件夹
FolderBrowserDialog fl = new FolderBrowserDialog();
DialogResult result = fl.ShowDialog();
//判断是否用户点击的是确定键
if (result == DialogResult.OK)
{
//原路径
string sourcePath = lvlist.SelectedItems[].SubItems[].Text;
//目标的文件路径
string desPath = null;
//打开对话框你要选择复制的新的路径
desPath = fl.SelectedPath;
//lvlist表示显示文件信息的ListView对象
desPath += "\\" + lvlist.SelectedItems[].SubItems[].Text;
File.Copy(sourcePath,desPath,true);
MessageBox.Show("复制成功!");
}
}5.删除(慎重删除:它是彻底删除!!)
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (lvlist.SelectedItems.Count> )
{
DialogResult resuot = MessageBox.Show("确定要删除此文件吗?","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
if (resuot == DialogResult.OK)
{
string path = lvlist.SelectedItems[].SubItems[].Text;
File.Delete(path);
//删除lvlist的数据
lvlist.SelectedItems[].Remove();
}
}
}
6.重要的!(实现1.双击自动关联文件类型):
//鼠标双击的事件的发生
private void lvlist_MouseDoubleClick(object sender, MouseEventArgs e)
{
//创建打开文件框的对象
OpenFileDialog open = new OpenFileDialog();
//获取路径
string path = lvlist.SelectedItems[].SubItems[].Text; //目的就是想通过指定资源管理器打开指定的地址。expporer:打开资源管理器
System.Diagnostics.Process.Start("explorer.exe", path); }
实现1.双击自动关联文件类型打开 2.PC所有驱动器 3.小型资源管理器的更多相关文章
- Delphi 7使用自定义图标关联文件类型
Delphi 7使用自定义图标关联文件类型 5.2 Delphi编程(40) 版权声明:本文为博主原创文章,未经博主允许不得转载. 在开发过程中,我们经常需要属于自己的文件类型,自定义的后缀名不仅可 ...
- java文件上传,自动判断文件类型
public enum FileType { /** * JEPG. */ JPEG("FFD8FF"), /** * PNG. */ PNG("89504E47&quo ...
- 小型资源管理器,IO操作,读取和写入文件和目录的常用操作
解决方案: 小总结: 用IO流,的file,DirectoryInfo的方法绑定Treeview控件上和删除,读取, 可以熟练掌握一下IO流 主页面: private void Form1_Load( ...
- idea鼠标双击.log日志文件无法打开
发现只要再mybatis-config.xml的起别名中加<package name="xxx"/>,就会导致Reader entry: ���� 1 n乱码,而R ...
- Android 各种MIME类型和文件类型的匹配表
MIME:全称Multipurpose Internet Mail Extensions,多功能Internet 邮件扩充服务.它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后 ...
- 让win7任务条上的文件夹打开是c,d,e,f而不是库
如果资源管理器是打开的,则右键点击资源管理器的图标,在跳出的菜单中,右键点击“Windows资源管理器”,选择“属性”. 在“快捷方式’选项卡,“目标”一栏,默认的是 %windir%\explore ...
- 与众不同 windows phone (38) - 8.0 关联启动: 使用外部程序打开一个文件或URI, 关联指定的文件类型或协议
[源码下载] 与众不同 windows phone (38) - 8.0 关联启动: 使用外部程序打开一个文件或URI, 关联指定的文件类型或协议 作者:webabcd 介绍与众不同 windows ...
- 重新想象 Windows 8 Store Apps (33) - 关联启动: 使用外部程序打开一个文件或uri, 关联指定的文件类型或协议
原文:重新想象 Windows 8 Store Apps (33) - 关联启动: 使用外部程序打开一个文件或uri, 关联指定的文件类型或协议 [源码下载] 重新想象 Windows 8 Store ...
- Win7系统Matlab2013a安装.m文件不自动关联到MATLAB.exe解决方法
1.在matlab命令行中输入以下代码: cwd=pwd; cd([matlabroot '\toolbox\matlab\winfun\private']); fileassoc('add',{'. ...
随机推荐
- 2.UDP协议
UDP只在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能. 应用层给UDP多长的报文,UDP就照样发送,即一次发送一个完整报文 一.UDP首部格式 这里的长度是指(首部+数据) UDP校验 ...
- css初始化表(normalize.css)
为什么要初始化CSS? 建站老手都知道,这是为了考虑到浏览器的兼容问题,其实不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面差异.当然,初始化样式会对SEO有一定的 ...
- STL源码剖析:序
STL源码包含哪些内容 容器:STL的核心 适配器:容器都是在一种最底层的基础容器上使用适配器实现 空间配置器:提供内存的管理 迭代器:由于遍历容器中的数据 算法:由于操作容器中的数据,如排序,拷贝, ...
- 解决win10安装flask-mysqldb报错 Python2.7
win10上安装的pycharm,在pycharm创建的py2.7虚拟环境中安装flask-sqlalchemy 执行pip install flask-mysqldb报错 error: Micros ...
- Just test it!!软件测试测起来!!
(图片: josh@unsplash,字数:700,时间:1分钟) (一) 一切的软件质量保障活动,归根结底,就两种类型. 一种是基于代码执行的,一种是不基于代码执行的. 测试之于肉眼自查.静态检查. ...
- 题解 洛谷 P5443 【[APIO2019]桥梁】
考虑若只有查询操作,那么就可以构造\(Kruskal\)重构树,然后在线询问了,也可以更简单的把询问离线,把询问和边都按权值从大到小排序,然后双指针依次加入对于当前询问合法的边,用并查集维护每个点的答 ...
- python-闭包和装饰器-01-闭包(closure)
闭包(closure) 闭包就是在一个函数定义的内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包,如: def line(a, b): def cal( ...
- ES搜索引擎-一篇文章就够了
toc: true title: 一周一个中间件-ES搜索引擎 date: 2019-09-19 18:43:36 tags: - 中间件 - 搜索引擎 前言 在众多搜索引擎中,solr,es是我所知 ...
- 【扩展推荐】Intervention/image 图片处理
Intervention/image 是为 Laravel 定制的图片处理工具, 它提供了一套易于表达的方式来创建.编辑图片. 一.环境要求 二.安装及配置 下载地址:https://packagis ...
- Bootstrap++:bootstrap-select 使用
效果图: HTML: <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.or ...

4.鼠标点击右键有复制和删除功能:(folderBrowsDialog:提示用户选择目标文件夹)
5.删除(慎重删除:它是彻底删除!!)