Книга: Программирование КПК и смартфонов на .NET Compact Framework

Элементы OpenFileDialog и SaveFileDialog

Элементы OpenFileDialog и SaveFileDialog

Практически в каждом приложении пользователь должен иметь возможность сохранить файл или открыть его. Разработчикам регулярно приходится реализовывать подобную функциональность в своих программах. При желании можно самому придумать и разработать интерфейс для подобной задачи. Но можно воспользоваться и стандартными диалоговыми окнами открытия и сохранения файла. Именно для этого применяются элементы управления OpenFileDialog и SaveFileDialog. К сожалению, в версии .NET Compact Framework возможности данных элементов управления серьезно урезаны. Разработчик может манипулировать файлами только в пределах папки My Documents и вложенных папок следующего уровня. Поэтому папка My DocumentsProgrammingSample будет уже недоступна.

Рассматриваемые элементы управления размещаются в нижней части дизайнера формы рядом с элементом MainMenu. При работе с данными элементами прежде всего надо позаботиться о свойстве Filter, которое ограничивает список доступных файлов, фильтруя их по расширению. Свойство InitalDirectory содержит имя папки, в которой по умолчанию располагаются файлы. Если это свойство оставить пустым, то обзор файлов начнется с самой папки My Documents.

Основным методом для этих элементов является ShowDialog. После его вызова на экране отображается модальное окно, в котором пользователь должен нажать кнопку OK или Cancel. При этом метод ShowDialog возвращает значения DialogResult.OK и DialogResult.Cancel соответственно. Если получено значение DialogResult.OK, то пользователь нажал кнопку OK и в свойстве Filename содержится полный путь к выбранному файлу.

Пример работы с элементами OpenFileDialog и SaveFileDialog приведен в листинге 3.14.

Листинг 3.14

private void butOpen_Click(object sender, EventArgs e) {
 ofd.Filter = "DLL|*.dll|Картинки|*.jpg";
 ofd.InitialDirectory = "My DocumentsTemplates";
 if (DialogResult.OK == ofd.ShowDialog()) {
  statusBar1.Text = ofd.FileName;
 } else {
  statusBar1.Text = "Вы нажали на кнопку Отмена!";
 }
}

Оглавление книги


Генерация: 1.555. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз