⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 Professional C# 2nd Edition
💻 CS
📖 第 1 页 / 共 2 页
字号:
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 + -