Как использовать OpenFileDialog в приложениях C# с графическим интерфейсом

Kak Ispol Zovat Openfiledialog V Prilozeniah C S Graficeskim Interfejsom



Создание графических приложений с помощью C# и платформы Windows Forms — один из лучших способов расширить свои навыки C#. Как и в случае со всеми другими форматами программирования, вы в конечном итоге создадите приложение, работающее с файлами.

В этом уроке мы покажем вам основы работы с графическим приложением Windows, научившись создавать приложение, которое может читать файлы одним нажатием кнопки.







В основном мы сосредоточимся на OpenFileDialog, который позволяет нам просматривать и выбирать файлы в файловой системе. Это часть пространства имен System.Windows.Forms. Следовательно, вам потребуется установить инструменты WFP.



Создание проекта

Прежде чем мы сможем использовать компонент OpenFileDialog, нам необходимо создать проект, поддерживающий Windows Forms. Вы можете выполнить действия, описанные ниже, используя Visual Studio 2022 и более поздних версий.



Запустите Visual Studio 2022 и выберите опцию «Создать новый проект».






На следующем шаге выберите шаблон проекта, который вы хотите использовать. В нашем случае мы хотим создать приложение Windows Forms. Выберите этот шаблон.


На следующем шаге выберите версию NET и укажите имя своего проекта.



Добавление кнопки

После создания проекта Visual Studio перенесет вас в редактор перетаскивания, где вы сможете перетаскивать нужные вам компоненты.

В нашем случае первое, что нам нужно, — это кнопка, запускающая OpenFileDialog. Из меню панели инструментов перетащите кнопку на холст.


Измените текстовое свойство кнопки на «Открыть файл».

Обработчик событий нажатия кнопки

В этот момент кнопка ничего не делает при нажатии. Чтобы кнопка открывала OpenFileDialog, нам нужно добавить обработчик событий.

Дважды щелкните кнопку или нажмите F7, чтобы открыть редактор кода.


В обработчик событий кнопки добавьте следующий код для инициализации и открытия OpenFileDialog:

частная пустота button1_Click ( отправитель объекта, EventArgs e )
{
с использованием ( OpenFileDialog openFileDialog = новый OpenFileDialog ( ) )
{
если ( openFileDialog.ShowDialog ( ) == ДиалогРезультат.ОК )
{
строка selectedFile = openFileDialog.FileName;
MessageBox.Show ( 'Выбранный файл: ' + выбранныйФайл ) ;
}
}
}


В данном примере мы начинаем с создания экземпляра класса OpenFileDialog. Мы также используем оператор «using», чтобы гарантировать, что он будет правильно удален после завершения операции, чтобы избежать пустой траты ресурсов.

Затем мы проверяем, подтвердил ли пользователь выбор файла, нажав кнопку «ОК».

Наконец, мы получаем полный путь выбранного пути и отображаем его внутри компонента MessageBox.

Попробуйте запустить код и посмотрите, что он делает. В нашем случае код позволяет нам открыть селектор файлов по нажатию кнопки и отобразить путь к выбранному файлу следующим образом:

Выбор определенных типов файлов

В зависимости от использования вашего приложения вам может потребоваться только чтение определенных файлов. Здесь в игру вступает фильтрация файлов. Предположим, мы хотим выбрать только файлы изображений. Мы можем реализовать функцию фильтра файлов для файлов изображений, установив свойство «Filter» OpenFileDialog.

Взгляните на следующий код:

частная пустота button1_Click ( отправитель объекта, EventArgs e )
{
с использованием ( OpenFileDialog openFileDialog = новый OpenFileDialog ( ) )
{
openFileDialog.Фильтр = 'Изображения|*.jpg,*.jpeg,*.png,*.gif,*.bmp,*.tiff,*.webp,*.heif,*.ico,*.raw' ;
если ( openFileDialog.ShowDialog ( ) == ДиалогРезультат.ОК )
{
строка selectedFile = openFileDialog.FileName;
MessageBox.Show ( 'Выбранный файл: ' + выбранныйФайл ) ;
}
}
}


Запустив код и нажав кнопку, мы должны увидеть типы файлов, которые нам разрешено выбирать, как показано в следующем примере:

Отображение содержимого файла

Чтобы добавить больше функциональности нашему приложению, мы можем отобразить содержимое файла с помощью MessageBox следующим образом:

частная пустота button1_Click ( отправитель объекта, EventArgs e )
{
с использованием ( OpenFileDialog openFileDialog = новый OpenFileDialog ( ) )
{
openFileDialog.Фильтр = «Текстовые файлы|*.txt» ;
если ( openFileDialog.ShowDialog ( ) == ДиалогРезультат.ОК )
{
строка selectedFile = openFileDialog.FileName;
строковое содержимое = File.ReadAllText ( выбранный файл ) ;
MessageBox.Показать ( 'Содержимое файла: ' + контент ) ;
}
}
}


В данном случае мы фильтруем текстовые файлы, поскольку их легко читать. После выбора файла мы используем File.ReadAllText() и сохраняем содержимое файла в переменную.

Затем мы отображаем содержимое файла с помощью MessageBox, как показано в результирующей функциональности файла:

Выбор нескольких файлов

Вы также можете разрешить OpenFileDialog читать несколько файлов, используя свойство «MultiSelect». Это полезно, когда вам нужно выбрать несколько файлов, например копировать, перемещать и т. д.

Функция следующая:

частная пустота button1_Click ( отправитель объекта, EventArgs e )
{
с использованием ( OpenFileDialog openFileDialog = новый OpenFileDialog ( ) )
{
openFileDialog.Фильтр = «Текстовые файлы|*.txt» ;
openFileDialog.Multiselect = истинный ;
если ( openFileDialog.ShowDialog ( ) == ДиалогРезультат.ОК )
{
для каждого ( был файл в openFileDialog.FileNames )
{
MessageBox.Показать ( 'Выбранные файлы: ' + файл ) ;
}
}
}
}


В этом примере мы используем свойство «MultiSelect», которое позволяет нам выбирать несколько текстовых файлов.

Затем мы перебираем каждый выбранный файл и отображаем его путь в MessageBox.


Вот оно!

Заключение

В этом замечательном руководстве вы узнали, как создать на C# базовое приложение с графическим интерфейсом, которое может читать файл и отображать его содержимое с помощью OpenFileDialog. Вы также узнали о таких функциях, как фильтрация определенных файлов, выбор нескольких файлов и т. д.