📄 form1.cs
字号:
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.Threading;
using System.Runtime.InteropServices;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// 从应用程序所在的当前目录开始
openFileDialog1.InitialDirectory = System.IO.Directory.GetCurrentDirectory();
openFileDialog1.Filter = "Text files (*.*)|*.*";
openFileDialog1.Multiselect = true;
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
foreach(string strFileName in this.openFileDialog1.FileNames)
{
this.listBox1.Items.Add(strFileName);
}
}
catch (Exception E)
{
MessageBox.Show(E.Message, "错误", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
}
}
}
#region Delete_directly
private void btn_Remove_Click(object sender, EventArgs e)
{
foreach (string strFileName in openFileDialog1.FileNames)
{
System.IO.File.Delete(strFileName);
}
MessageBox.Show("文件被删除!");
}
#endregion
private void btn_toRecycleBin_Click(object sender, EventArgs e)
{
try
{
int iCount = 0;
foreach (string fStr in openFileDialog1.FileNames)
{
if (DeleteRB(fStr, true) == 0)
{
iCount++;
}
}
MessageBox.Show(iCount + "个文件被删除!");
}
catch
{ }
}
#region delete files through recycle bin
private const int FO_DELETE = 3;
private const int FOF_SILENT = 0x0004;
private const int FOF_NOCONFIRMATION = 0x0010;
private const int FOF_ALLOWUNDO = 0x0040;
private const int FOF_NOCONFIRMMKDIR = 0x0200;
[StructLayout(LayoutKind.Sequential)]
private struct SHFILEOPSTRUCT
{
public int hwnd;
public int wFunc;
public string pFrom;
public string pTo;
public int fFlags;
public bool fAnyOperationsAborted;
public int hNameMappings;
public string lpszProgressTitle;
}
[DllImport("shell32.dll")]
private static extern int SHFileOperation(ref SHFILEOPSTRUCT FileOp);
/// <example>
/// Delete("c:\\test.txt",true);
/// <example>
private static int DeleteRB(string sPath, bool recycle)
{
SHFILEOPSTRUCT FileOp = new SHFILEOPSTRUCT();
FileOp.hwnd = 0;
FileOp.wFunc = FO_DELETE;
FileOp.fFlags = 0;
FileOp.fFlags = FileOp.fFlags | FOF_SILENT;
FileOp.fFlags = FileOp.fFlags | FOF_NOCONFIRMATION;
FileOp.fFlags = FileOp.fFlags | FOF_NOCONFIRMMKDIR;
if (recycle)
{
FileOp.fFlags = FileOp.fFlags | FOF_ALLOWUNDO;
}
FileOp.pFrom = sPath + "\0";
return SHFileOperation(ref FileOp);
}
#endregion
private void btn_ClearRecycleBin_Click(object sender, EventArgs e)
{
string[] localDrivers = Directory.GetLogicalDrives();
int i = localDrivers.Length;
foreach (string driver in localDrivers)
{
try
{
string[] sFiles = Directory.GetFiles(driver + "\\recycled");
if (sFiles.Length != 0)
{
foreach (string sFile in sFiles)
{
File.Delete(sFile);
}
}
string[] sDirs = Directory.GetDirectories(driver + "\\recycled");
if (sDirs.Length != 0)
{
foreach (string sDir in sDirs)
{
Directory.Delete(sDir, true);
}
}
}
catch(Exception err)
{
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -