📄 form1.cs
字号:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
namespace Wrox.ProCSharp.FilesAndRegistry
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private string currentFolderPath;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Button buttonDisplay;
private System.Windows.Forms.Button buttonUp;
private System.Windows.Forms.TextBox txtBoxLastWriteTime;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox txtBoxInput;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox txtBoxCreationTime;
private System.Windows.Forms.ListBox listBoxFiles;
private System.Windows.Forms.ListBox listBoxFolders;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox txtBoxLastAccessTime;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox txtBoxFileSize;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox txtBoxFileName;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox txtBoxFolder;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.TextBox textBox3;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.TextBox textBox4;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox5;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
protected void ClearAllFields()
{
listBoxFolders.Items.Clear();
listBoxFiles.Items.Clear();
txtBoxFolder.Text = "";
txtBoxFileName.Text = "";
txtBoxCreationTime.Text = "";
txtBoxLastAccessTime.Text = "";
txtBoxLastWriteTime.Text = "";
txtBoxFileSize.Text = "";
}
protected void DisplayFileInfo(string fileFullName)
{
FileInfo theFile = new FileInfo(fileFullName);
if (!theFile.Exists)
throw new FileNotFoundException("File not found: " + fileFullName);
txtBoxFileName.Text = theFile.Name;
txtBoxCreationTime.Text = theFile.CreationTime.ToLongTimeString();
txtBoxLastAccessTime.Text = theFile.LastAccessTime.ToLongDateString();
txtBoxLastWriteTime.Text = theFile.LastWriteTime.ToLongDateString();
txtBoxFileSize.Text = theFile.Length.ToString() + " bytes";
}
protected void DisplayFolderList(string folderFullName)
{
DirectoryInfo theFolder = new DirectoryInfo(folderFullName);
if (!theFolder.Exists)
throw new DirectoryNotFoundException("Folder not found: "
+ folderFullName);
ClearAllFields();
txtBoxFolder.Text = theFolder.FullName;
currentFolderPath = theFolder.FullName;
// list all subfolders in folder
foreach(DirectoryInfo nextFolder in theFolder.GetDirectories())
listBoxFolders.Items.Add(nextFolder.Name);
// list all files in folder
foreach(FileInfo nextFile in theFolder.GetFiles())
listBoxFiles.Items.Add(nextFile.Name);
}
protected void OnDisplayButtonClick(object sender, EventArgs e)
{
try
{
string folderPath = txtBoxInput.Text;
DirectoryInfo theFolder = new DirectoryInfo(folderPath);
if (theFolder.Exists)
{
DisplayFolderList(theFolder.FullName);
return;
}
FileInfo theFile = new FileInfo(folderPath);
if (theFile.Exists)
{
DisplayFolderList(theFile.Directory.FullName);
int index = listBoxFiles.Items.IndexOf(theFile.Name);
listBoxFiles.SetSelected(index, true);
return;
}
throw new FileNotFoundException("There is no file or folder with "
+ "this name: " + txtBoxInput.Text);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
protected void OnListBoxFilesSelected(object sender, EventArgs e)
{
try
{
string selectedString = listBoxFiles.SelectedItem.ToString();
string fullFileName = Path.Combine(currentFolderPath, selectedString);
DisplayFileInfo(fullFileName);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
protected void OnListBoxFoldersSelected(object sender, EventArgs e)
{
try
{
string selectedString = listBoxFolders.SelectedItem.ToString();
string fullPathName = Path.Combine(currentFolderPath, selectedString);
DisplayFolderList(fullPathName);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
protected void OnUpButtonClick(object sender, EventArgs e)
{
try
{
string folderPath = new FileInfo(currentFolderPath).DirectoryName;
DisplayFolderList(folderPath);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.label8 = new System.Windows.Forms.Label();
this.buttonDisplay = new System.Windows.Forms.Button();
this.buttonUp = new System.Windows.Forms.Button();
this.txtBoxLastWriteTime = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.txtBoxInput = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.txtBoxCreationTime = new System.Windows.Forms.TextBox();
this.listBoxFiles = new System.Windows.Forms.ListBox();
this.listBoxFolders = new System.Windows.Forms.ListBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.label6 = new System.Windows.Forms.Label();
this.txtBoxLastAccessTime = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.txtBoxFileSize = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.txtBoxFileName = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.txtBoxFolder = new System.Windows.Forms.TextBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.label9 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label10 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label12 = new System.Windows.Forms.Label();
this.textBox3 = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label();
this.textBox4 = new System.Windows.Forms.TextBox();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.button1 = new System.Windows.Forms.Button();
this.textBox5 = new System.Windows.Forms.TextBox();
this.groupBox1.SuspendLayout();
this.groupBox3.SuspendLayout();
this.SuspendLayout();
//
// label8
//
this.label8.Location = new System.Drawing.Point(256, 104);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(100, 16);
this.label8.TabIndex = 14;
this.label8.Text = "Folders";
//
// buttonDisplay
//
this.buttonDisplay.Location = new System.Drawing.Point(432, 24);
this.buttonDisplay.Name = "buttonDisplay";
this.buttonDisplay.TabIndex = 26;
this.buttonDisplay.Text = "Display";
this.buttonDisplay.Click += new System.EventHandler(this.OnDisplayButtonClick);
//
// buttonUp
//
this.buttonUp.Location = new System.Drawing.Point(408, 72);
this.buttonUp.Name = "buttonUp";
this.buttonUp.Size = new System.Drawing.Size(72, 24);
this.buttonUp.TabIndex = 24;
this.buttonUp.Text = "Up";
this.buttonUp.Click += new System.EventHandler(this.OnUpButtonClick);
//
// txtBoxLastWriteTime
//
this.txtBoxLastWriteTime.Enabled = false;
this.txtBoxLastWriteTime.Location = new System.Drawing.Point(32, 448);
this.txtBoxLastWriteTime.Name = "txtBoxLastWriteTime";
this.txtBoxLastWriteTime.Size = new System.Drawing.Size(184, 20);
this.txtBoxLastWriteTime.TabIndex = 16;
this.txtBoxLastWriteTime.Text = "";
//
// label2
//
this.label2.Location = new System.Drawing.Point(16, 104);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(136, 16);
this.label2.TabIndex = 22;
this.label2.Text = "Files";
//
// txtBoxInput
//
this.txtBoxInput.Location = new System.Drawing.Point(16, 24);
this.txtBoxInput.Name = "txtBoxInput";
this.txtBoxInput.Size = new System.Drawing.Size(408, 20);
this.txtBoxInput.TabIndex = 19;
this.txtBoxInput.Text = "";
//
// label1
//
this.label1.Location = new System.Drawing.Point(16, 8);
this.label1.Name = "label1";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -