Елементи інтерфейсу: Діалогове вікно відкриття файлу
Діалогове вікно відкриття файлу служить для пошуку файлів, які використовуються в програмі. Для створення цього вікна призначений елемент управління OpenFileDialog. Даний елемент має безліч властивостей, основні з яких перераховані в таблиці 1.
Таблиця 1. Властивості елемента управління OpenFileDialog
Властивість | Опис |
AddExtension | При встановленому значенні True додає розширення до імені файлу, якщо його немає. Вказується або значення властивості DefaultExt, або розширення задається властивістю Filter. |
CheckFileExists | Перевіряє наявність файлу з вказаним ім'ям при встановленому значенні True. Якщо файл не існує, видається попередження |
CheckPathExists | Перевіряє існування шляху до вказаного файлу при встановленому значенні True. Якщо шлях не існує, видається попередження |
DefaultExt | Визначає розширення файлу, що додається за замовчуванням в разі, коли користувач вводить ім'я файлу без розширення |
FileName | Визначає повний шлях до файлу, обраного в діалоговому вікні |
Filter | Задає значення списку Тип файлу, що визначає тип відображуваних файлів. Наприклад, для відображення тільки текстових файлів потрібно для цієї властивості задати значення Text files (* .txt) | * .txt. Щоб задати кілька фільтрів, застосовується символ |: Text files (* .txt) | * .txt | All files (*. *) | *. *. У разі використання декількох фільтрів можна за допомогою властивості FilterIndex задати фільтр за замовчуванням |
InitialDirectory | Задає каталог, що відображається при першому виклику діалогового вікна. Для того щоб при наступних викликах відображався цей же каталог, необхідно властивості RestoreDirectory привласнити значення True |
Multiselect | Дозволяє вибрати кілька файлів в діалоговому вікні при встановленому значенні True |
Title | Визначає заголовок діалогового вікна. За замовчуванням вікну присвоюється стандартний для Windows заголовок |
Щоб відобразити діалогове вікно відкриття файлу, необхідно викликати метод ShowDialog елемента управління OpenFileDialog. За допомогою методу OpenFile даного елемента можна відкрити потік для читання даних з файлу.
Розглянемо невеликий приклад, який продемонструє використання діалогового вікна відкриття файлу. Для цього виконайте такі дії:
1. Створіть новий Windows-додаток з ім'ям DialogsExample.
2. Відкрийте вікно властивостей і задайте за допомогою властивостей Text і Name заголовок форми Діалогові вікна та її ім'я frmDialogs.
3. Для створення вікна відкриття файлів додайте на форму елемент управління OpenFileDialog. Надайте значення OpenFileDlg властивості Name цього елемента управління.
4. Перетягніть на форму елемент управління Button. Дайте значення Відкрити файл і bOpenFile властивостям Text і Name відповідно.
5. Щоб при натисканні кнопки Відкрити файл з'являлося діалогове вікно Open (Відкрити), необхідно додати в код програми процедуру обробки події bOpenFile_Click (наприклад, за допомогою подвійного клацання на кнопці), що має наступний код:
OpenFileDlg.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF"
OpenFileDlg.InitialDirectory = "C:\"
OpenFileDlg.ShowDialog()
Даний код дозволяє при відкритті вікна відобразити вміст диска C:. При цьому будуть відображатися лише графічні файли.
Рис. 1. Діалогове вікно відкриття файлу
6. Щоб при натисканні кнопки Відкрити файл у вікні відкриття файлу з'являлося вікно повідомлень з ім'ям обраного файлу, необхідно в код програми додати процедуру обробки події OpenFileDlg_FileOk з наступним рядком:
MessageBox.Show("Выбран файл с именем " + OpenFileDlg.FileName)
Тепер в додатку після натискання кнопки Відкрити файл буде з'являтися діалогове вікно Open (Відкрити) (рис. 1).
Примітка:
Насправді діалогові вікна відкриття та збереження файлу не відкривають і не зберігають файли. Вони призначені для завдання імені і розташування файлу, який повинен бути відкритий або збережений.
Проект при виконанні матиме наступний вигляд:
Повний лістинг проекту наведено нижче:
Public Class frmDialogs
Private Sub bOpenFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles bOpenFile.Click
OpenFileDlg.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF"
OpenFileDlg.InitialDirectory = "C:\"
OpenFileDlg.ShowDialog()
End Sub
Private Sub OpenFileDlg_FileOk(ByVal sender As Object, _
ByVal e As System.ComponentModel.CancelEventArgs) _
Handles OpenFileDlg.FileOk
MessageBox.Show("Обрано файл з іменем " + OpenFileDlg.FileName)
End Sub
End Class