При изучении Windows Forms может быть очень полезно воссоздать распространенные приложения. Это также может помочь укрепить ваше базовое понимание программирования. Одним из примеров приложения, которое вы можете создать, является простой файловый менеджер.
Приложение диспетчера файлов должно состоять из быстрых ссылок на общие папки Windows («Рабочий стол», «Мои документы», «Изображения», «Музыка» и «Видео»). Он также должен иметь возможность перемещаться вверх и вниз по каталогам.
Как добавить элементы пользовательского интерфейса на холст
Первый, создать новое приложение Windows Form в Visual Studio. После завершения вы можете начать добавлять элементы пользовательского интерфейса для файлового менеджера на холст.
- Открыв холст, найдите Кнопка Элемент пользовательского интерфейса с помощью панели инструментов.
- Перетащите пять кнопок, чтобы представить быстрые ссылки, доступные на компьютере с Windows. Они будут представлять папки «Рабочий стол», «Мои документы», «Изображения», «Музыка» и «Видео».
- Выделите каждую кнопку по очереди и перейдите к Окно свойств. Измените каждую кнопку Имя Свойство а также Текстовое свойство до следующих значений:
Кнопка Имя Свойство Текстовое свойство 1 button_Desktop Рабочий стол 2 button_Documents Мои документы 3 button_Pictures Картинки 4 button_Музыка Музыка 5 button_Видео Видео - Найдите FlowLayoutPanel Элемент пользовательского интерфейса с помощью панели инструментов.
- Перетащите его на холст и расположите рядом с быстрыми ссылками. Здесь вы будете отображать свои файлы и каталоги на основе каталога, который вы просматриваете в данный момент.
- Выделите панель и измените Имя свойство в «panel_FilesList».
Как получить текущий путь к файлу
При нажатии на кнопку (например, Рабочий стол) в панели должен отображаться список папок и файлов, находящихся на Рабочем столе. Для этого вы можете получить путь к папке, на которую вы нажали, например, «C:\Users\User\Desktop».
Напишите логику для этого в файле кода программной части C# для формы. Если вы не знакомы с классами C#, вы можете узнать больше о классы на С#.
- Дважды щелкните каждую из кнопок пользовательского интерфейса. Это создаст функции события щелчка для каждой кнопки внутри файла C# для формы. Эти функции будут запущены, когда вы нажмете соответствующую кнопку.
частныйпустотаbutton_Desktop_Click(отправитель объекта, EventArgs e)
{
}частныйпустотаbutton_Documents_Click(отправитель объекта, EventArgs e)
{
}частныйпустотаbutton_Pictures_Click(отправитель объекта, EventArgs e)
{
}частныйпустотаbutton_Music_Click(отправитель объекта, EventArgs e)
{
}частныйпустотаbutton_Videos_Click(отправитель объекта, EventArgs e)
{
} - Чтобы получить путь к файлу специального каталога Windows, такого как рабочий стол, используйте Окружающая среда. ПолучитьПутьПапки() метод. Это вернет строку пути к папке, например, «C:\Users\User\Desktop». Добавьте это к каждой функции и передайте значение пути к файлу в другую функцию с именем Показать файлы(), который вы создадите позже.
публичный Форма1()
{
ИнициализироватьКомпонент();
DisplayFiles(Окружающая среда.GetFolderPath(Окружающая среда.SpecialFolder.Рабочий стол));
}частныйпустотаbutton_Desktop_Click(отправитель объекта, EventArgs e)
{
DisplayFiles(Окружающая среда.GetFolderPath(Окружающая среда.SpecialFolder.Рабочий стол));
}частныйпустотаbutton_Documents_Click(отправитель объекта, EventArgs e)
{
DisplayFiles(Окружающая среда.GetFolderPath(Окружающая среда.SpecialFolder.Мои документы));
}частныйпустотаbutton_Pictures_Click(отправитель объекта, EventArgs e)
{
DisplayFiles(Окружающая среда.GetFolderPath(Окружающая среда.SpecialFolder.Мои рисунки));
}частныйпустотаbutton_Music_Click(отправитель объекта, EventArgs e)
{
DisplayFiles(Окружающая среда.GetFolderPath(Окружающая среда.SpecialFolder.Моя музыка));
}частныйпустотаbutton_Videos_Click(отправитель объекта, EventArgs e)
{
DisplayFiles(Окружающая среда.GetFolderPath(Окружающая среда.SpecialFolder.Мои видео));
}
Как визуализировать файлы для выбранного каталога
Отображение списка файлов в зависимости от кнопки «Рабочий стол», «Мои документы», «Изображения», «Музыка» или «Видео», которую вы нажимаете.
- Импортируйте систему. IO в верхней части файла.
с использованиемСистема.IO;
- Создайте новую функцию с именем Показать файлы(), чтобы отобразить файлы и папки в выбранном каталоге.
частныйпустотаDisplayFiles(строка путь к файлу)
{
// Код для отображения файлов и папок внутри каталога
} - Внутри нового Показать файлы() функция, составить список всех каталогов и файлов, которые находятся внутри выбранной папки.
строка[]filesList=Каталог. GetDirectories(filePath).Concat(Directory. ПолучитьФайлы (Путь к файлу)).ToArray();
- Убедитесь, что панель, отображающая список файлов и каталогов, пуста.
panel_FilesList.Управление.Чистый();
- Сохраните текущий каталог в глобальной переменной.
текущее расположение = путь к файлу;
- Объявите глобальную переменную в верхней части класса.
stringcurrentLocation = "";
- Вернувшись в Показать файлы() создайте кнопку для каждого каталога и файла. В цикле for изолируйте имя от остальной части пути к файлу. Программно создайте новую кнопку с именем файла или каталога в качестве текста кнопки.
за (инт я = 0; я 1; я++)
{
bool isHidden = ((Файл. GetAttributes (список_файлов[i]) & Атрибуты файла. Скрытый) == FileAttributes. Скрытый);если (!Скрыто)
{
// Получаем имя файла из пути
var startOfName = список_файлов[i].LastIndexOf("\\");
вар fileName = filesList[i].Substring (startOfName + 1, filesList[i].Length - (startOfName + 1));// Отобразить файл или папку в виде кнопки
Кнопка новаяКнопка = новый Кнопка();
новаяКнопка. Текст = ИмяФайла;
новаяКнопка. Имя = Список файлов[i];
новаяКнопка. Местоположение = новый Точка(70, 70);
новаяКнопка. Размер = новый Размер(800, 100);
новаяКнопка. Выравнивание текста = Выравнивание содержимого. средний левый;
новаяКнопка. Заполнение = новый Заполнение(24, 0, 0, 0);
panel_FilesList.Управление.Добавлять(новаяКнопка);
}
} - Нажмите кнопку воспроизведения в верхней части Visual Studio, чтобы запустить программу.
- Нажмите на любую из быстрых ссылок. Например, если вы нажмете на Мои документы, Панель справа должна содержать список файлов и папок в Мои документы папка.
- Если вы нажмете на другую быструю ссылку, например, Видео, панель должна очиститься и измениться для отображения файлов и папок в Видео папка.
Как перемещаться вверх и вниз по каталогам
Измените код, чтобы при нажатии на папку, отображаемую в списке, вы перемещались вниз по каталогу. Вы также можете создать кнопку «Назад», чтобы вернуться к предыдущей папке.
- Чтобы переместиться вниз по каталогу, создайте новую функцию с именем кнопка_Click_Open(). Если пользователь щелкнет каталог в списке, программа вызовет Показать файлы() функция для отображения файлов внутри этого каталога. Если вместо этого пользователь щелкнет файл, программа откроет файл.
частныйпустотаbutton_Click_Open(отправитель объекта, EventArgs e)
{
Кнопка Кнопка = (Кнопка) отправитель;
строка filePath = кнопка. Имя;пытаться
{
// Если щелкнуть каталог, перезагрузить список файлов в новом каталоге
DisplayFiles (путь к файлу);
}
ловить (Исключение бывший)
{
// Если щелкнуть по файлу, открыть файл
вар процесс = новый Система. Диагностика. Процесс();
процесс. Начальная информация = новый Система. Диагностика. ProcessStartInfo() { UseShellExecute = истинный, ИмяФайла = Путь к файлу };
процесс.Начинать();
}
} - в Показать файлы() функцию, измените часть кода, которая создает новую кнопку. Добавьте новую строку после создания кнопки для прикрепления новой button_Click_Open() к событию Click.
новаяКнопка. Нажмите += button_Click_Open;
- Чтобы перейти к резервной копии каталога, создайте назад кнопка. На холсте щелкните и перетащите новую кнопку с помощью панели инструментов.
- Выделите новые Назад кнопка. В окне свойств измените Текстовое свойство на «< Назад».
- Дважды щелкните на Назад Кнопка для создания функции события щелчка, которая будет запускаться, когда пользователь нажимает кнопку «Назад».
частныйпустотаназад_клик(отправитель объекта, EventArgs e)
{
} - Внутри функции найдите путь к папке на один уровень выше и отобразите файлы и каталоги для папки выше.
вар предыдущая папка = это.Текущее местоположение. Подстрока(0, это.Текущее местоположение. ПоследнийИндексОф("\\"));
DisplayFiles (предыдущая папка); - Нажмите кнопку воспроизведения еще раз в верхней части Visual Studio, чтобы запустить программу. Щелкните любую из быстрых ссылок еще раз, чтобы отобразить список папок или файлов.
- Внутри панели щелкните папку, чтобы перейти в каталог вниз.
- Нажмите кнопку «Назад», чтобы вернуться к предыдущему каталогу.
Создание настольных приложений с помощью Windows Forms
Файловый менеджер — это простое приложение, которое вы можете создать, изучая, как создавать приложение Windows Form. Вы можете использовать панель инструментов для перетаскивания панели на холст вместе с различными другими кнопками.
Теперь, когда ваше приложение имеет основные функции, не стесняйтесь изменять свойства кнопок, чтобы улучшить дизайн файлового менеджера.
Откройте для себя некоторые другие приложения для начинающих, которые вы можете создать при изучении приложений Windows Forms.