À, thế tiện trong post này mình hỏi luôn, mọi người đánh giá lối viết code này là sáng sủa hay “tối sủa”…
namespace Visual_Studio_2013_Solution_Cleaner
{
public partial class MainForm : System.Windows.Forms.Form
{
int X, Y;
public MainForm()
{
InitializeComponent();
}
private void MainForm_Load(object sender, System.EventArgs e)
{
fbdDuongDan.SelectedPath = System.IO.Directory.GetCurrentDirectory();
lbDuongDan.Text = "(Bấm vào đường dẫn, bấm \"S\" hoặc kéo thả thư mục chứa Solution vào để chọn thư mục solution)\n" + fbdDuongDan.SelectedPath;
}
private void MainForm_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
X = e.X;
Y = e.Y;
}
private void MainForm_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
Left = Left + e.X - X;
Top = Top + e.Y - Y;
}
}
private void lbDuongDan_Click(object sender, System.EventArgs e)
{
fbdDuongDan.ShowDialog();
lbDuongDan.Text = "(Bấm vào đường dẫn, bấm \"S\" hoặc kéo thả thư mục chứa Solution vào để chọn thư mục solution)\n" + fbdDuongDan.SelectedPath;
}
private void MainForm_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (e.KeyChar == 's')
{
fbdDuongDan.ShowDialog();
lbDuongDan.Text = "(Bấm vào đường dẫn, bấm \"S\" hoặc kéo thả thư mục chứa Solution vào để chọn thư mục solution)\n" + fbdDuongDan.SelectedPath;
}
}
private void MainForm_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
{
if (System.IO.Directory.Exists(((string[])e.Data.GetData(System.Windows.Forms.DataFormats.FileDrop))[0]))
e.Effect = System.Windows.Forms.DragDropEffects.Move;
else
e.Effect = System.Windows.Forms.DragDropEffects.None;
}
private void MainForm_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
fbdDuongDan.SelectedPath = ((string[])e.Data.GetData(System.Windows.Forms.DataFormats.FileDrop))[0];
lbDuongDan.Text = "(Bấm vào đường dẫn, bấm \"S\" hoặc kéo thả thư mục chứa Solution vào để chọn thư mục solution)\n" + fbdDuongDan.SelectedPath;
}
private void GetFolderList(string FolderPath, System.Collections.Generic.List<string> Files, System.Collections.Generic.List<string> Folders)
{
foreach (string File in System.IO.Directory.GetFiles(FolderPath))
Files.Add(File);
foreach (string SubFolder in System.IO.Directory.GetDirectories(FolderPath))
{
Folders.Add(SubFolder);
GetFolderList(SubFolder, Files, Folders);
}
}
private void btDonDepSolution_Click(object sender, System.EventArgs e)
{
pbDonDepSolution.Value = 0;
pbDonDepSolution.Visible = true;
var Files = new System.Collections.Generic.List<string>();
var Folders = new System.Collections.Generic.List<string>();
GetFolderList(fbdDuongDan.SelectedPath, Files, Folders);
pbDonDepSolution.Maximum = Files.Count + Folders.Count;
foreach (string FileToDelete in Files)
if (FileToDelete.EndsWith(".suo") || FileToDelete.EndsWith(".user") || FileToDelete.EndsWith(".Debug.config") || FileToDelete.EndsWith(".Release.config") || FileToDelete.EndsWith(".sdf"))
try
{
System.IO.File.Delete(FileToDelete);
}
catch
{
}
finally
{
pbDonDepSolution.Value = pbDonDepSolution.Value + 1;
}
foreach (string FolderToDelete in Folders)
if (FolderToDelete.EndsWith(@"\bin") || FolderToDelete.EndsWith(@"\obj") || FolderToDelete.EndsWith(@"\Debug") || FolderToDelete.EndsWith(@"\Release") || FolderToDelete.EndsWith(@"\x86"))
try
{
System.IO.Directory.Delete(FolderToDelete, true);
}
catch
{
}
finally
{
pbDonDepSolution.Value = pbDonDepSolution.Value + 1;
}
pbDonDepSolution.Visible = false;
if (cbTatKhiChayXong.Checked)
Close();
}
private void btThoat_Click(object sender, System.EventArgs e)
{
Close();
}
}
}