基本信息
源码名称:C# 文件夹管理实例源码下载
源码大小:1.32M
文件格式:.zip
开发语言:C#
更新时间:2017-06-30
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
using System.Collections;
using System.Threading;
namespace FileManage
{
public partial class frmMain : Form
{
#region 定义全局变量,并实例化公共类对象
private bool blCopy = false; //标识是否复制文件
private bool blCut = false; //标识是否剪切文件
public static string strFullName = ""; //记录选择的文件名及路径
public static ArrayList list = new ArrayList(); //记录选择的项
CommonClass.BaseClass baseclass = new FileManage.CommonClass.BaseClass();
#endregion
public frmMain()
{
InitializeComponent();
}
//窗体加载时在树控件中显示所有磁盘驱动器
private void frmMain_Load(object sender, EventArgs e)
{
MessageBox.Show("本软件涉及到对文件的各种操作,请在运行之前备份好您的磁盘文件,对于丢失文件的,我们不负任何法律责任!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
//获得本地磁盘的所有驱动器
string[] strDrives = Environment.GetLogicalDrives();
tvLook.BeginUpdate();
//向树控件中添加本地磁盘目录
foreach (string strDrive in strDrives)
{
TreeNode tnMyDrives = new TreeNode(strDrive);
tvLook.Nodes.Add(tnMyDrives);
}
tvLook.EndUpdate();
}
//在树控件中选择节点时,展开选中节点,并在右边显示该文件夹所包含的所有文件
private void tvLook_AfterSelect(object sender, TreeViewEventArgs e)
{
baseclass.GetPath(e.Node.FullPath, imageList1, lvInfo, 0);
}
//在指定目录下新建文件
private void 新建文件ToolStripMenuItem_Click(object sender, EventArgs e)
{
baseclass.NewFile(lvInfo, imageList1, DateTime.Now.ToString("yyyyMMddhhmmss") ".txt", 0);
}
//在指定目录下新建文件夹
private void 新建文件夹ToolStripMenuItem_Click(object sender, EventArgs e)
{
baseclass.NewFile(lvInfo, imageList1, DateTime.Now.ToString("yyyyMMddhhmmss"), 1);
}
//对指定文件夹中的内容进行全选
private void 全选ToolStripMenuItem_Click(object sender, EventArgs e)
{
for (int i = 0; i < lvInfo.Items.Count; i )
{
lvInfo.Items[i].Selected = true;
}
tsslabInfo.Text = lvInfo.Items.Count "个对象";
}
//复制文件及文件夹标识
private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
{
blCopy = true;
粘贴ToolStripMenuItem.Enabled = true;
blCut = false;
ISSelectFile();
}
//剪切文件及文件夹标识
private void 剪切ToolStripMenuItem_Click(object sender, EventArgs e)
{
blCut = true;
粘贴ToolStripMenuItem.Enabled = true;
blCopy = false;
ISSelectFile();
}
//根据复制或剪切文件及文件夹标识确定执行粘贴操作
private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (blCopy == true)
{
baseclass.CopyFile(lvInfo, imageList1, list, strFullName, CommonClass.BaseClass.AllPath, 0,toolStripProgressBar1);
for (int i = 0; i < list.Count; i )
{
baseclass.CopyDir(CommonClass.BaseClass.AllPath list[i].ToString(), strFullName list[i].ToString(), 0);
}
}
else if (blCut == true)
{
baseclass.CopyFile(lvInfo, imageList1, list, strFullName, CommonClass.BaseClass.AllPath, 1, toolStripProgressBar1);
for (int i = 0; i < list.Count; i )
{
baseclass.CopyDir(CommonClass.BaseClass.AllPath list[i].ToString(), strFullName list[i].ToString(), 1);
}
blCut = false;
粘贴ToolStripMenuItem.Enabled = false;
}
else
{
MessageBox.Show("没有需要粘贴的内容!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
刷新ToolStripMenuItem_Click(sender, e);
toolStripProgressBar1.Value = 0;
}
//删除文件及文件夹
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
baseclass.DeleteFile(lvInfo, imageList1, toolStripProgressBar1);
toolStripProgressBar1.Value = 0;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
#region 重命名文件及文件夹
private void 重命名ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (lvInfo.SelectedItems.Count != 0)
{
lvInfo.SelectedItems[0].BeginEdit();
}
}
private void lvInfo_AfterLabelEdit(object sender, LabelEditEventArgs e)
{
baseclass.RepeatFile(lvInfo, imageList1, lvInfo.SelectedItems[0].Text, e.Label);
}
//批量重命名文件
private void 批量重命名ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmRepeat frmrepeat = new frmRepeat();
frmrepeat.ShowDialog();
}
#endregion
//刷新文件夹
private void 刷新ToolStripMenuItem_Click(object sender, EventArgs e)
{
baseclass.GetListViewItem(CommonClass.BaseClass.AllPath, imageList1, lvInfo);
}
//控制复制、剪切、删除、重命名菜单项的可用状态
private void lvInfo_Click(object sender, EventArgs e)
{
if (lvInfo.Items.Count > 0)
{
if (lvInfo.SelectedIndices.Count != 0)
{
复制ToolStripMenuItem.Enabled = 剪切ToolStripMenuItem.Enabled = 删除ToolStripMenuItem.Enabled = 重命名ToolStripMenuItem.Enabled = true;
tsslabInfo.Text = "选定" lvInfo.SelectedIndices.Count "个对象";
}
}
}
#region 以各种方式显示文件
//以缩略图方式显示文件
private void 缩略图ToolStripMenuItem_Click(object sender, EventArgs e)
{
lvInfo.View = View.LargeIcon;
缩略图ToolStripMenuItem.Text =缩略图ToolStripMenuItem1.Text = "●缩略图";
平铺ToolStripMenuItem.Text = 平铺ToolStripMenuItem1.Text = "平铺";
图标ToolStripMenuItem.Text = 图标ToolStripMenuItem1.Text = "图标";
列表ToolStripMenuItem.Text = 列表ToolStripMenuItem1.Text = "列表";
详细信息ToolStripMenuItem.Text = 详细信息ToolStripMenuItem1.Text = "详细信息";
}
private void 缩略图ToolStripMenuItem1_Click(object sender, EventArgs e)
{
缩略图ToolStripMenuItem_Click(sender, e);
}
//以平铺方式显示文件
private void 平铺ToolStripMenuItem_Click(object sender, EventArgs e)
{
lvInfo.View = View.Tile;
缩略图ToolStripMenuItem.Text = 缩略图ToolStripMenuItem1.Text = "缩略图";
平铺ToolStripMenuItem.Text = 平铺ToolStripMenuItem1.Text = "●平铺";
图标ToolStripMenuItem.Text = 图标ToolStripMenuItem1.Text = "图标";
列表ToolStripMenuItem.Text = 列表ToolStripMenuItem1.Text = "列表";
详细信息ToolStripMenuItem.Text = 详细信息ToolStripMenuItem1.Text = "详细信息";
}
private void 平铺ToolStripMenuItem1_Click(object sender, EventArgs e)
{
平铺ToolStripMenuItem_Click(sender, e);
}
//以图标方式显示文件
private void 图标ToolStripMenuItem_Click(object sender, EventArgs e)
{
lvInfo.View = View.SmallIcon;
缩略图ToolStripMenuItem.Text = 缩略图ToolStripMenuItem1.Text = "缩略图";
平铺ToolStripMenuItem.Text = 平铺ToolStripMenuItem1.Text = "平铺";
图标ToolStripMenuItem.Text = 图标ToolStripMenuItem1.Text = "●图标";
列表ToolStripMenuItem.Text = 列表ToolStripMenuItem1.Text = "列表";
详细信息ToolStripMenuItem.Text = 详细信息ToolStripMenuItem1.Text = "详细信息";
}
private void 图标ToolStripMenuItem1_Click(object sender, EventArgs e)
{
图标ToolStripMenuItem_Click(sender, e);
}
//以列表方式显示文件
private void 列表ToolStripMenuItem_Click(object sender, EventArgs e)
{
lvInfo.View = View.List;
缩略图ToolStripMenuItem.Text = 缩略图ToolStripMenuItem1.Text = "缩略图";
平铺ToolStripMenuItem.Text = 平铺ToolStripMenuItem1.Text = "平铺";
图标ToolStripMenuItem.Text = 图标ToolStripMenuItem1.Text = "图标";
列表ToolStripMenuItem.Text = 列表ToolStripMenuItem1.Text = "●列表";
详细信息ToolStripMenuItem.Text = 详细信息ToolStripMenuItem1.Text = "详细信息";
}
private void 列表ToolStripMenuItem1_Click(object sender, EventArgs e)
{
列表ToolStripMenuItem_Click(sender, e);
}
//以详细信息方式显示文件
private void 详细信息ToolStripMenuItem_Click(object sender, EventArgs e)
{
lvInfo.View = View.Details;
缩略图ToolStripMenuItem.Text = 缩略图ToolStripMenuItem1.Text = "缩略图";
平铺ToolStripMenuItem.Text = 平铺ToolStripMenuItem1.Text = "平铺";
图标ToolStripMenuItem.Text = 图标ToolStripMenuItem1.Text = "图标";
列表ToolStripMenuItem.Text = 列表ToolStripMenuItem1.Text = "列表";
详细信息ToolStripMenuItem.Text = 详细信息ToolStripMenuItem1.Text = "●详细信息";
}
private void 详细信息ToolStripMenuItem1_Click(object sender, EventArgs e)
{
详细信息ToolStripMenuItem_Click(sender, e);
}
#endregion
//双击ListView控件中的项进行打开
private void lvInfo_DoubleClick(object sender, EventArgs e)
{
baseclass.GetPath(lvInfo.SelectedItems[0].Text, imageList1, lvInfo, 1);
}
//返回上一级目录
private void tsbtnBack_Click(object sender, EventArgs e)
{
baseclass.backPath(lvInfo, imageList1);
}
//单击ListView控件的标头时,对项进行排序
private void lvInfo_ColumnClick(object sender, ColumnClickEventArgs e)
{
try
{
lvInfo.ListViewItemSorter = new CommonClass.ListViewItemComparer(e.Column);
}
catch { }
}
#region 搜索文件或文件夹
//搜索文件或文件夹
private void tsbtnSearch_Click(object sender, EventArgs e)
{
lvInfo.Items.Clear();
if (ttxtKeyWord.Text != "")
{
baseclass.SearchFile(lvInfo, ttxtKeyWord.Text);
}
else
{
MessageBox.Show("搜索关键字不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
刷新ToolStripMenuItem_Click(sender, e);
}
toolStripProgressBar1.Value = 0;
}
//在搜索关键字文本框中按下回车键时,执行搜索文件或文件夹操作
private void ttxtKeyWord_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
tsbtnSearch_Click(sender, e);
}
}
#endregion
#region 退出当前应用程序
//单击“关闭”菜单项
private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
//单击“*”按钮
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
关闭ToolStripMenuItem_Click(sender, e);
}
#endregion
//监视对象选中状态
private void timer1_Tick(object sender, EventArgs e)
{
if (lvInfo.SelectedIndices.Count != 0)
{
tsslabInfo.Text = "选定" lvInfo.SelectedIndices.Count "个对象";
list = baseclass.getFiles(lvInfo);
}
else
tsslabInfo.Text = lvInfo.Items.Count "个对象";
}
//弹出“关于”对话框
private void 关于文件批量处理器ToolStripMenuItem_Click(object sender, EventArgs e)
{
AboutBox aboutbox = new AboutBox();
aboutbox.ShowDialog();
}
#region 解压缩文件
//压缩文件及文件夹
private void 压缩文件ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
toolStripProgressBar1.Maximum = list.Count;
if (list.Count > 1)
{
string strNewPath = DateTime.Now.ToString("yyyyMMddhhmmss");
baseclass.CopyFile(lvInfo, imageList1, list, CommonClass.BaseClass.AllPath, CommonClass.BaseClass.AllPath strNewPath "\\", 0, toolStripProgressBar1);
for (int i = 0; i < list.Count; i )
{
baseclass.CopyDir(CommonClass.BaseClass.AllPath strNewPath "\\" list[i].ToString(), CommonClass.BaseClass.AllPath list[i].ToString(), 0);
if (toolStripProgressBar1.Value < toolStripProgressBar1.Maximum)
toolStripProgressBar1.Value = 1;
}
baseclass.Zip(strNewPath, saveFileDialog.FileName);
Directory.Delete(CommonClass.BaseClass.AllPath strNewPath, true);
MessageBox.Show("压缩文件成功");
}
else if (lvInfo.SelectedIndices.Count > 0)
{
baseclass.Zip(lvInfo.SelectedItems[0].Text, saveFileDialog.FileName);
MessageBox.Show("压缩文件成功");
}
刷新ToolStripMenuItem_Click(sender, e);
toolStripProgressBar1.Value = 0;
}
}
catch { }
}
//解压文件
private void 解压文件ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
folderBrowserDialog.ShowDialog();
if (lvInfo.SelectedIndices.Count > 0)
{
FileInfo FInfo = new FileInfo(CommonClass.BaseClass.AllPath lvInfo.SelectedItems[0].Text);
if (FInfo.Exists && (FInfo.Extension.ToLower() == ".rar" || FInfo.Extension.ToLower() == ".zip"))
{
baseclass.UnZip(lvInfo.SelectedItems[0].Text, folderBrowserDialog.SelectedPath);
MessageBox.Show("解压文件成功");
}
}
}
catch { }
}
#endregion
//分割文件,打开“分割文件”窗体
private void 文件分割ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmSplit frmsplit = new frmSplit();
frmsplit.tabControl1.SelectedIndex = 0;
frmsplit.ShowDialog();
}
//合成文件,打开“合成文件”窗体
private void 文件合成ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmSplit frmsplit = new frmSplit();
frmsplit.tabControl1.SelectedIndex = 1;
frmsplit.ShowDialog();
}
//清除系统垃圾文件
private void 垃圾文件清理ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
System.Diagnostics.Process.Start(Application.StartupPath "\\clear.bat");
}
catch { }
}
#region 判断是否选择了文件
/// <summary>
/// 判断是否选择了文件
/// </summary>
private void ISSelectFile()
{
if (lvInfo.SelectedIndices.Count == 0)
{
MessageBox.Show("请选择文件", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
复制ToolStripMenuItem.Enabled = 剪切ToolStripMenuItem.Enabled = 删除ToolStripMenuItem.Enabled = 重命名ToolStripMenuItem.Enabled = false;
}
else
{
strFullName = CommonClass.BaseClass.AllPath;
list = baseclass.getFiles(lvInfo);
}
}
#endregion
}
}