|
Программирование >> Программирование с использованием ajax
чения свойств могут быть установлены из окна Properties (Свойства). Как будет показано, для этого достаточно вызвать метод ShowDialog () и обратиться к изменяемым свойствам. Файловые диалоговые окна Посредством файлового диалогового окна пользователь может выбирать дисковод и просматривать файловую систему для выбора нужного файла. Все что должно возвращать это диалоговое окно - имя файла, определенное пользователем. Класс OpenFileDialog позволяет пользователям выбирать файл, который требуется открыть, по имени. И наоборот, класс SaveFileDialog позволяет пользователям указывать имя файла, который требуется сохранить. Эти диалоговые окна похожи, поскольку являются производными от одного абстрактного базового класса, хотя и обладают некоторыми свойствами, уникальными для каждого класса. В этом разделе мы вначале рассмотрим особенности класса OpenFileDialog, а затем выясним, чем класс SaveFileDialog отличается от него. После этого мы разработаем пример приложения, которое использует оба эти класса. OpenFileDialog Класс OpenFileDialog позволяет пользователям выбирать файл для открытия. Как было показано в предыдущем примере, новый экземпляр класса OpenFileDialog создается до вызова метода ShowDialog (): OpenFileDialog dig = new OpenFileDialog() ; dig.ShowDialog() ; Запуск программы Windows-приложения, содержащей эти две строки кода, приведен к открытию диалогового окна, показанного на рис. 17.2. Как уже было показано, до вызова метода ShowDialog () можно установить свойства этого класса, изменяющие поведение и внешний вид диалогового окна или ограничивающие количество файлов, которые могут быть открыты. Некоторые возможные изменения описаны в последующих разделах. ЧС Open У Documfon R#4 nt > Changed Dr-.ktop ]ф Ccmputf* f: P.ctorf. Mo<e > Nmm D*te mcMlifted Тур Ptopcftm Pn>gr m. ,TSmipletdM<K J S nip eEdrtofrofin.D Qn .ci S nple€ditocfonn Foldeij 8 items Fie name Puc. 17.2. Диалог открытия файла Никогда не используйте в приложении жестко закодированную строку каталога, поскольку данный каталог может отсутствовать в системе пользователя. Для получения специальных системных папок можно использовать статический метод GetFolderPath О класса System.Environment. Метод GetFolderPath () принимает член перечисления Environment. SpecialFolder, определяющий системный каталог, путь к которому нужно получить. В следующем примере кода общий каталог пользователей для шаблонов устанавливается в качестве InitialDirectory: string directory = Environment.GetFolderPath(Environment.SpecialFolder.Templates); dig.InitialDirectory = directory; Установка файлового фильтра Файловый фильтр определяет типы файлов, которые пользователь может выбирать для открытия. Простая строка фильтра выглядит следующим образом: Text Documents (*.txt) *.txtAll Files I*.* Чтобы класс OpenFileDialog можно было использовать с консольными приложениями, требуется наличие ссылки на сборку System. Windows. Forms, а пространство имен System .Windows. Forms должно быть включено в число доступных. Заголовок диалогового окна Определенный по умолчанию заголовок диалогового окна OpenFileDialog - Open (Открытие). Однако Open - не всегда лучшее имя. Например, если в приложении требуется проанализировать журнальные фалы или получить размеры файлов, выполнить какую-либо обработку, а затем сразу после этого закрыть файлы, заголовок Analyze Files (Анализ файлов) подошел бы больше, поскольку файлы не остаются открытыми для пользователя. К счастью, заголовок диалогового окна можно изменять, устанавливая значение свойства Title. Сама среда Visual Studio предоставляет различные заголовки для диалоговых окон открытия файлов, что позволяет различать типы открываемых файлов: Open Project (Открытие проекта). Open File (Открытие файла) и Open Web Site (Открытие Web-сайта). Следующий сегмент кода демонстрирует методику установки другого заголовка диалогового окна: OpenFileDialog dig = new OpenFileDialog(); dig.Title = Open File ; dig.ShowDiaiog 0 ; Указание каталогов Каталог, открываемый по умолчанию - это каталог, который был открыт пользователем при последнем выполнении приложения. Установка значения свойства InitialDirectory позволяет изменять это поведение. Значение свойства InitialDirectory по умолчанию - пустая строка, представляющая каталог пользователя, отображенный при первом использовании диалогового окна в приложении. При втором открытии диалогового окна отображенный каталог совпадает с тем, в котором хранится ранее открытый файл. Для выяснения имени ранее открытого файла обычное диалоговое окно Windows OpenFileDialog использует реестр. Фильтр используется для отображения записей в списке Files of Type: (Файлы типа:). Например, Microsoft WordPad отображает записи, как показано на рис. 17.3. /Орвп business Exprntion Fiddler fuirtsu Groove WortwMcr lempUtn IntUntCDDVD ЫШтв -tingenen Djrtoen J My Shapes My VirtiM4 M ctMnes Mi Nky Weto Site* Secunty SQL Saver Maruoeroent Studk) UftxJ) Tee Doo/nerts - MS-DOS Fonn* f w Ur code Ted Documents . 1x1 Puc. 17.3. Файловый фильтр в Microsoft WordPad Фильтр состоит из нескольких сегментов, разделенных символом конвейера (). Каждая запись состоит из двух строк, поэтому количество сегментов всегда является четным. Первая строка в каждой записи определяет текст, отображаемый в поле списка. Вторая строка указывает расширение файлов, которые будут отображаться в диалоговом окне. Строку фильтра можно определить в свойстве Filter, как показано в следующем коде: dig.Filter = Text documents (*.txt) *.txtI All Files*.* ; Наличие пробела перед или после фильтра не допускается. Указание неправильного значения свойства Filter ведет к исключению времени выполнения - System.ArgumentException - и отображению сообщения об ошибке The provided filter string is invalid (Указанная строка фильтра недопустима). Свойство Filterlndex указывает номер записи, выбираемой в списке по умолчанию. В случае WordPad выбором по умолчанию является Rich Text Format (* . rtf) (на рис. 17.3 эта запись выделена). При наличии нескольких доступных для выбора типов файлов, значение свойства Filterlndex можно установить для выбора нужного типа по умолчанию. Обратите внимание, что значения Filterlndex начинаются с единицы! Проверка правильности Класс OpenFileDialog может выполнять определенную автоматическую проверку правильности файла перед попыткой его открытия. Когда значение свойства ValidateNames установлено равным true, имя файла, введенное пользователем, проверяется на предмет соответствия допустимым именам файлов Windows. Щелчок на кнопке О К диалогового окна при указании недопустимого имени файла ведет к отображению диалогового окна, показанного на рис. 17.4. В этом случае пользователь должен исправить имя файла или щелкнуть на кнопке Cancel (Отмена), чтобы покинуть диалоговое окно OpenFileDialog. Такие символы, как \\, / и :, являются недопустимыми в именах файлов.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |