ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ²Π΅ΡΡΠΈ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΠΏΠΎΠΊ β DirectoryInfo ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΡΡΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ ΠΊΠ°ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ C# Windows Π² Visual Studio.NET ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈ ΠΎΠΊΠ½ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ Windows Forms Π² ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π² Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° txtBoxInput, txtBoxFolder, buttonDisplay, buttonUp, listBoxFiles, listBoxFolders, textBoxFileName, textBoxCreationTime, txtBoxLastAccessTime, txtBoxLasrWriteTime ΠΈ textBoxFileSize.
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.IO;
ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, Π½ΠΎ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ²Π½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π² ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ . ΠΠ°ΡΠ΅ΠΌ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π΅-ΡΠ»Π΅Π½:
public class Form1 : System.Windows.Forms.Form {
#region Member Fields
private string currentFolderPath;
currentFolderPath Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΡΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΠ°ΠΏΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π² ΠΎΠΊΠ½Π΅ ΡΠΏΠΈΡΠΊΠ°.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠΈ ΡΡΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Π²ΡΠ²ΠΎΠ΄Π°:
β‘ ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅Π»ΠΊΠ°Π΅Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Display. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ΅ΠΊΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠ΅. ΠΡΠ»ΠΈ ΡΡΠΎ ΠΏΠ°ΠΏΠΊΠ°, ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Ρ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΎΠΊΠ½Π΅ ΡΠΏΠΈΡΠΊΠ°. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΉΠ», ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ Π΄Π»Ρ ΠΏΠ°ΠΏΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΡΡΠΎΡ ΡΠ°ΠΉΠ», Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ°ΠΉΠ»Π° Π² Π½ΠΈΠΆΠ½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ»ΡΡ .
β‘ ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅Π»ΠΊΠ°Π΅Ρ Π½Π° ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° Π² ΠΎΠΊΠ½Π΅ ΡΠΏΠΈΡΠΊΠ° Files. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² Π½ΠΈΠΆΠ½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ»ΡΡ .
β‘ ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅Π»ΠΊΠ°Π΅Ρ Π½Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΎΠΊΠ½Π΅ ΡΠΏΠΈΡΠΊΠ° Folders. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΎΡΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠΎΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΎΠΊΠ½Π΅ ΡΠΏΠΈΡΠΊΠ°.
β‘ ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅Π»ΠΊΠ°Π΅Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Up. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΎΡΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΎΠΊΠ½Π΅ ΡΠΏΠΈΡΠΊΠ°.
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΊΠΎΠ΄ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΈΡΡΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½:
protected void ClearAllFields() {
listBoxFolders.Items.Clear();
listBoxFiles.Items.Clear();
txtBoxFolder.Text = "";
txtBoxFileName.Text = "";
txtBoxCreationTime.Text = "";
txtBoxLastAccessTime.Text = "";
txtBoxLastWriteTime.Text = "";
txtBoxSize.Text ="";
}
ΠΠ°ΡΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ DisplayFileInfo(), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ»ΡΡ . ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΏΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΡΠ°ΠΉΠ»Π° ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡ FileInfo Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ°:
protected void DisplayFileInfo(string 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";
}
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π·Π΄Π΅ΡΡ ΠΌΡ Π²ΠΎΠ·Π΄Π΅ΡΠΆΠ°Π»ΠΈΡΡ ΠΎΡ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π°. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ (Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠΎΠ±ΡΡΠΈΠΉ). ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ DisplayFolderList(), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ Π² Π΄Π²ΡΡ ΠΎΠΊΠ½Π°Ρ ΡΠΏΠΈΡΠΊΠ°. ΠΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΏΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΠ°ΠΏΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°:
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;
// ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅ΠΌ Π²ΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ, Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ
foreach(DirectoryInfo NextFolder in TheFolder.GetDirectories())
listBoxFolders.Items.Add(NextFolder.Name);
// ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅ΠΌ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΏΠ°ΠΏΠΊΠ΅
foreach (FileInfo NextFile in TheFolder.GetFiles())
listBoxFiles.Items.Add(NextFile.Name);
}
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Display ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΡΠ»ΠΎΠΆΠ½ΡΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ΅ΠΊΡΡΠ°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠΌΡ ΠΏΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΠ°ΠΏΠΊΠΈ, ΠΈΠΌΡ ΠΏΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π½ΠΈ ΡΠΎ, Π½ΠΈ Π΄ΡΡΠ³ΠΎΠ΅:
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;
}
throws
new FileNotFoundException("There is no file or folder with " + "this name: " + txtBoxInput.Text);
} catch (Exception ex) {
MessageBox.Show(ex.Message);
}
}
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΡΠ΅ΠΊΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ°ΠΏΠΊΡ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ», ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ DirectoryInfo ΠΈ FileInfo ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Exists ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΠΎ ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΡΡΠΎ ΠΏΠ°ΠΏΠΊΠ°, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ DisplayFolderList, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΊΠ½Π° ΡΠΏΠΈΡΠΊΠΎΠ². ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΉΠ», ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΊΠ½Π° ΡΠΏΠΈΡΠΊΠΎΠ² ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ°ΠΉΠ»Π°. ΠΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ ΡΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ, Π·Π°ΠΏΠΎΠ»Π½ΡΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΠΊΠ½Π° ΡΠΏΠΈΡΠΊΠΎΠ². ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΏΡΡΠ΅ΠΌ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π² ΠΎΠΊΠ½Π΅ ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΎ ΠΈΠΌΠ΅Π΅Ρ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΡΠ°Π» ΡΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ Π²ΡΠ±ΠΎΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΠ°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ, Π·Π½Π°Ρ, ΡΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²ΡΠ·Π²Π°Π½ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ²ΠΎΠΉΡΡΠ² ΡΠ°ΠΉΠ»Π°.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π² ΠΎΠΊΠ½Π΅ ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, Π»ΠΈΠ±ΠΎ, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΏΡΡΠ΅ΠΌ. ΠΠ½ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΏΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π΅Π³ΠΎ Π² ΠΌΠ΅ΡΠΎΠ΄ DisplayFileInfo(), ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠ°Π½Π΅Π΅:
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(ex.Message);
}
}
ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ Π²ΡΠ±ΠΎΡΠ° ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΎΠΊΠ½Π΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΠ°ΠΏΠΎΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ DisplayFolderList() Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΎΠΊΠΎΠ½ ΡΠΏΠΈΡΠΊΠΎΠ²:
protected void OnListBoxFoldersSeleeted(object sender, EventArgs e) {
try {
string SelectedString = listBoxFolders.SelectedItem.ToString();
string FullPathName = Path.Combine(currentFolderPath, SelectedString);
Display FolderList(FullPathName);
} catch (Exception ex) {
MessageBox.Show(ex.Message);
}
}
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅Π»ΡΠΎΠΊ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Up, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ DisplayFolderList(), Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π² ΡΡΠΎΡ ΡΠ°Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΡΠ΅Π΄ΠΊΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠ°ΠΏΠΊΠΈ. ΠΡΠΎ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° FileInfo.DirectoryName, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ
protected void OnUpButtonClick(object sender, EventArgs e) {
try {
string FolderPath = new FileInfo(currentFolderPath).DirectoryName;
DisplayFolderList(FolderPath);
} catch (Exception ex) {
MessageBox(ex.Message);
}
}
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΡ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΠΎΠ±ΡΡΠΈΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π²ΡΡΡΠ½ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ Π² Π³Π»Π°Π²Π΅ 7 ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΊΠ½ΠΎ Properties Π² Visual Studio Π΄Π»Ρ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ΠΌ.
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΡ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΎΠΊ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ MoveTo() ΠΈ Delete() ΠΊΠ»Π°ΡΡΠΎΠ² FileInfo ΠΈ DirectoryInfo. ΠΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π² ΠΊΠ»Π°ΡΡΠ°Ρ File ΠΈ Directory ΡΠ²Π»ΡΡΡΡΡ Move() ΠΈ Delete(). ΠΠ»Π°ΡΡΡ FileInfo ΠΈ File ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ CopyTo() ΠΈ Copy(). ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»Π½ΡΡ ΠΏΠ°ΠΏΠΎΠΊ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΊΠΎΠΏΠΈΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΠ΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ, Π²ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² MSDN. Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅ΠΌ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ»ΡΡΠ°Π΅Π² Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Move(), Copy() ΠΈ Delete() Π½Π° ΠΊΠ»Π°ΡΡΠ΅ File. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ FileProperties Π² Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ FilePropertiesAndMovement. ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΡΠ²ΠΎΠΉΡΡΠ² ΡΠ°ΠΉΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ Π² Π΄ΡΡΠ³ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ.