Може да бъде много полезно да създавате отново общи приложения, когато изучавате Windows Forms. Това също може да ви помогне да затвърдите основното си разбиране за програмиране. Един пример за приложение, което можете да създадете, е основен файлов мениджър.
Приложението за управление на файлове трябва да се състои от бързи връзки към общи папки на Windows (Desktop, My Documents, Pictures, Music и Videos). Трябва също така да има способността да навигира нагоре и надолу в директории.
Как да добавите UI елементи към платното
първо, създайте ново приложение на Windows Form в Visual Studio. След като приключите, можете да започнете да добавяте UI елементи за файловия мениджър върху платното.
- При отворено платно потърсете a Бутон UI елемент с помощта на кутията с инструменти.
- Плъзнете и пуснете пет бутона, за да представите бързите връзки, които са налични на компютър с Windows. Те ще представляват папките Desktop, My Documents, Pictures, Music и Videos.
- Маркирайте всеки бутон на свой ред и отидете до
Прозорец със свойства. Променете всеки бутон Име на имота и Свойство на текста до следните стойности:
Бутон Име на имота Свойство на текста 1 button_Desktop работен плот 2 бутон_Документи Моите документи 3 бутон_Снимки Снимки 4 бутон_Музика Музика 5 бутон_Видеоклипове Видеоклипове - Търсене на a FlowLayoutPanel UI елемент с помощта на кутията с инструменти.
- Плъзнете и пуснете го върху платното и го позиционирайте до бързите връзки. Това е мястото, където ще покажете вашите файлове и директории въз основа на директорията, която преглеждате в момента.
- Маркирайте панела и променете Име свойството на “panel_FilesList”.
Как да получите текущия път на файла
Когато щракнете върху бутон (например работен плот), списъкът с папки и файлове, които са на работния плот, трябва да се покаже в панела. За да направите това, можете да получите пътя на файла на папката, върху която сте щракнали, т.е. „C:\Users\User\Desktop“.
Напишете логиката за това в кода зад C# файла за формуляра. Ако не сте запознати с C# класове, можете да научите повече за класове в C#.
- Щракнете двукратно върху всеки от бутоните в потребителския интерфейс. Това ще генерира функции за събития при кликване за всеки бутон в C# файла за формуляра. Тези функции ще се изпълняват, когато щракнете върху съответния бутон.
частенневалиденbutton_Desktop_Click(изпращащ обект, EventArgs e)
{
}частенневалиденbutton_Documents_Click(изпращащ обект, EventArgs e)
{
}частенневалиденбутон_Снимки_Щракване(изпращащ обект, EventArgs e)
{
}частенневалиденbutton_Music_Click(изпращащ обект, EventArgs e)
{
}частенневалиденbutton_Videos_Click(изпращащ обект, EventArgs e)
{
} - За да получите пътя на файла на специална директория на Windows, като например работния плот, използвайте Околен свят. GetFolderPath() метод. Това ще върне низ от пътя на файла за папката, например „C:\Users\User\Desktop“. Добавете това към всяка функция и прехвърлете стойността на filepath в друга извикана функция DisplayFiles(), които ще създадете по-късно.
публичен Form1()
{
InitializeComponent();
DisplayFiles(Околен свят.GetFolderPath(Околен свят.Специална папка.Работен плот));
}частенневалиденbutton_Desktop_Click(изпращащ обект, EventArgs e)
{
DisplayFiles(Околен свят.GetFolderPath(Околен свят.Специална папка.Работен плот));
}частенневалиденbutton_Documents_Click(изпращащ обект, EventArgs e)
{
DisplayFiles(Околен свят.GetFolderPath(Околен свят.Специална папка.Моите документи));
}частенневалиденбутон_Снимки_Щракване(изпращащ обект, EventArgs e)
{
DisplayFiles(Околен свят.GetFolderPath(Околен свят.Специална папка.Моите снимки));
}частенневалиденbutton_Music_Click(изпращащ обект, EventArgs e)
{
DisplayFiles(Околен свят.GetFolderPath(Околен свят.Специална папка.Моята музика));
}частенневалиденbutton_Videos_Click(изпращащ обект, EventArgs e)
{
DisplayFiles(Околен свят.GetFolderPath(Околен свят.Специална папка.MyVideos));
}
Как да изобразите файловете за избраната директория
Показване на списък с файлове в зависимост от бутона Desktop, My Documents, Pictures, Music или Videos, върху който щракнете.
- Импортирайте системата. IO пространство от имена в горната част на файла.
използвайкиСистема.IO;
- Създайте нова функция, наречена DisplayFiles(), за да покажете файловете и папките на избрана директория.
частенневалиденDisplayFiles(низ filePath)
{
// Код за показване на файловете и папките в директорията
} - Вътре в новия DisplayFiles() функция, съставете списък на всички директории и файлове, които са в избраната папка.
низ [] filesList = Директория. GetDirectories (filePath).Concat (Директория. GetFiles (filePath)).ToArray();
- Уверете се, че панелът, който показва списъка с файлове и директории, е празен.
panel_FilesList.Контроли.Ясно();
- Съхранявайте текущата директория в глобална променлива.
currentLocation = filePath;
- Декларирайте глобалната променлива в горната част на класа.
stringcurrentLocation = "";
- Обратно в DisplayFiles() функция, създайте бутон за всяка директория и файл. В for-цикъл изолирайте името от останалата част от пътя на файла. Създайте програмно нов бутон с името на файла или директорията като текст на бутона.
за (вътр аз = 0; i < списък с файлове. дължина-1; i++)
{
bool isHidden = ((Файл. GetAttributes (filesList[i]) & FileAttributes. Hidden) == FileAttributes. Скрит);ако (!isHidden)
{
// Вземете името на файла от пътя
var startOfName = filesList[i].LastIndexOf("\\");
вар fileName = filesList[i].Подниз (startOfName + 1, filesList[i].Length - (startOfName + 1));// Показване на файла или папката като бутон
Бутон нов бутон = нов Бутон();
newButton. Текст = име на файл;
newButton. Име = списък с файлове[i];
newButton. Местоположение = нов Точка(70, 70);
newButton. Размер = нов размер (800, 100);
newButton. TextAlign = ContentAlignment. MiddleLeft;
newButton. Подплата = нов Подложка (24, 0, 0, 0);
panel_FilesList.Контроли.Добави(newButton);
}
} - Натиснете бутона за възпроизвеждане в горната част на Visual Studio, за да стартирате програмата.
- Кликнете върху някоя от бързите връзки. Например, ако щракнете върху Моите документи, Панелът вдясно трябва да се попълни със списък с файлове и папки в Моите документи папка.
- Ако щракнете върху друга бърза връзка, например, Видеоклипове, панелът трябва да се изчисти и промени, за да показва файлове и папки в Видеоклипове папка.
Как да навигирате в директории нагоре и надолу
Променете кода, така че когато щракнете върху папка, показана в списъка, ще се преместите надолу в директория. Можете също да създадете бутон за връщане назад, за да се върнете обратно към предишната папка.
- За да се придвижите надолу в директория, създайте нова функция, наречена button_Click_Open(). Ако потребителят щракне върху директория в списъка, програмата ще извика DisplayFiles() функция за показване на файловете в тази директория. Ако вместо това потребителят щракне върху файл, програмата ще отвори файла.
частенневалиденbutton_Click_Open(изпращащ обект, EventArgs e)
{
Бутон бутон = (Бутон) подател;
низ filePath = бутон. име;опитвам
{
// Ако се щракне върху директория, презареди списъка с файлове в новата директория
DisplayFiles (filePath);
}
улов (Изключение пр.)
{
// Ако щракнете върху файла, отворете файла
вар процес = нов Система. Диагностика. Процес();
процес. StartInfo = нов Система. Диагностика. ProcessStartInfo() { UseShellExecute = вярно, FileName = filePath};
процес.Старт();
}
} - В DisplayFiles() функция, променете частта от кода, която създава нов бутон. Добавете нов ред след създаването на бутона за прикачване на новия button_Click_Open() функция към събитието Click.
newButton. Кликнете += button_Click_Open;
- За да навигирате в резервно копие на директория, създайте a обратно бутон. На платното щракнете и плъзнете нов бутон с помощта на кутията с инструменти.
- Маркирайте новото обратно бутон. В прозореца със свойства променете Текстово свойство към “< назад”.
- Щракнете двукратно върху обратно бутон за генериране на функция за събитие за щракване, която ще се задейства, когато потребителят щракне върху бутона за връщане назад.
частенневалиденback_Click(изпращащ обект, EventArgs e)
{
} - Вътре във функцията намерете пътя на файла на папката едно ниво по-горе и покажете файловете и директориите за папката по-горе.
вар предишна папка = това.настоящо местонахождение. подниз(0, това.настоящо местонахождение. LastIndexOf("\\"));
DisplayFiles (previousFolder); - Натиснете отново бутона за възпроизвеждане в горната част на Visual Studio, за да стартирате програмата. Щракнете отново върху някоя от бързите връзки, за да се покаже списък с папки или файлове.
- Вътре в панела щракнете върху папка, за да се придвижите надолу в директория.
- Щракнете върху бутона за връщане назад, за да се върнете в предишната директория.
Създаване на настолни приложения с помощта на Windows Forms
Файловият мениджър е просто приложение, което можете да изградите, когато се научите как да създавате Windows Form приложение. Можете да използвате кутията с инструменти, за да плъзнете и пуснете панел върху платното, заедно с различни други бутони.
Сега, когато приложението ви има основната функционалност, не се колебайте да промените свойствата на бутоните, за да подобрите дизайна на файловия мениджър.
Открийте някои от другите приложения за начинаещи, които можете да създадете, когато изучавате приложенията на Windows Forms.