Программирование >>  Программирование с использованием ajax 

1 ... 172 173 174 [ 175 ] 176 177 178 ... 396


SimpleEditor

We have speoafczed г heJprg devetopers and arcWects create d*nbuled appbcobons vxbch perfonn and 9caJe S3 necessary Our cberts wofk r some d the rr>o t chalengng envronrnerti of toftware developmert today

We have recogmzed n the pajt that a short perwd maybe on*y afew days of eddbona* supoon trarv>g or revTevwng r the early phases dt a project can make a big (Жегегке for Is success In the past five years we have hdped в number of diferent projects to start риюкег anjj to avo J cnbcal problems ngN from the start

Puc. 17.12. Загрузка текстового файла Thinktecture. txt

Ha данный момент возможно только чтение существующих файлов. Было бы замечательно, если бы можно было создавать новые файлы и изменять существующие. Для этого мы используем класс SaveFileDialog.

SaveFileDialog

Класс SaveFileDialog во многом подобен классу OpenFileDialog, и они имеют ряд общих свойств. Этот раздел посвящен свойствам, характерным для диалогового окна Save, а также различиям в использовании общих свойств.

Заголовок диалогового окна

Свойство Title позволяет устанавливать заголовок диалогового окна, подобно тому, как это имеет место в классе OpenFileDialog. Если никакое значение этого свойства не установлено, заголовок, используемый по молчанию - Save As (Сохранить как).

Расширения файлов

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

AddExtension - булевское свойство, которое автоматически добавляет расширение к имени файла, введенному пользователем. Значение этого свойства, используемое по умолчанию - true. Если пользователь вводит расширение файла, никакое дополнительное расширение не добавляется. Таким образом, если значение свойства AddExtension установлено равным true и пользователь вводит имя файла test, приложение сохранит файл под именем test.txt. Если же пользователь введет имя файла test.txt, файл по-прежнему будет сохраняться под именем test. txt, а не test. txt. txt.

Свойство Default Ext определяет расширение файла, которое используется, если пользователь его не вводит. Если оставить значение этого свойства пустым, будет применяться расширение файла, определенное выбранным в данный момент свойством Filter. Если оба свойства Filter и Def aultExt установлены, Def aultExt используется независимо от выбранного значения Filter.

Проверка допустимости

Свойства ValidateNames, CheckFileExists и CheckPathExists служат для автоматической проверки допустимости имени файла, аналогично соответствующим свойствам класса OpenFileDialog. Различие между классами OpenFileDialog и SaveFileDialog состоит в том, что используемое по умолчанию значение свойства CheckFileExists класса SaveFileDialog - false, что означает возможность ввода имени совершенно нового сохраняемого файла.



СопЛгт Save All

Testfile wrojrtot already exists Do you want to replace it?

Puc. 17.13. Диалоговое окно с запросом о перезаписи файла

Свойства класса SaveFileDialog

Свойства класса SaveFileDialog приведены на рис. 17.14.

Title InitialDirectory

FileName -

Save As

I a ** Simpleiditof * Stanplefdttoc


Datemodim

Kl Type

Propefbm

-Fikuarn* Untitled Save as Jype: [lerf DoctimowirJ)

Filter, Filterlndex

Puc. 17.14. Свойства класса SaveFileDialog

Перезапись существующих файлов

Как было показано, проверка допустимости имен файлов выполняется аналогично тому, как это делается в классе OpenFileDialog. Однако класс SaveFileDialog требует большего объема проверки и установки ряда дополнительных свойств. Если значение свойства Create Prompt установлено равным true, приложение запрашивает пользователя о необходимости создания нового файла. Если значение свойства OverwritePrompt установлено равным true, пользователь получает запрос о том, действительно ли нужно выполнить перезапись существующего файла. Используемое по умолчанию значение свойства OverwritePrompt - true, а свойства CreatePrompt - false. При использовании этих значений диалоговое окно, показанное на рис. 17.13, отображается при попытке пользователя сохранить уже существующий файл.



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

Добавление и использование класса SaveFileDialog

1. Так же как мы добавили в форму диалоговое окно OpenFileDialog, в нее можно добавить диалоговое окно SaveFileDialog. Выберите компонент SaveFileDialog в панели инструментов Toolbox и перетащите его на серую область Forms Designer. Измените имя на dlgSaveFile, FileName на Untitled (Без названия), Filterlndex на 2, а значение свойства Filter - на следующую строку, как это ранее было выполнено для диалогового окна OpenFileDialog. (Поскольку этот редактор будет допускать сохранение файлов только с расширениями .txt и .wroxtext, маска файла * . * будет опущена.)

Text Document (*.txt) *.txtI Wrox Document (*.wroxtext) *.wroxtext

2. Добавьте обработчик события Click пункта меню Save As с именем OnFileSaveAs. Следующий код будет отображать диалоговое окно SaveFileDialog с помощью метода ShowDialog (). Как и в случае диалогового окна OpenFileDialog, результаты его выполнения представляют интерес только, если пользователь щелкает на кнопке ОК. (Мы вызываем метод SaveFile (), который сохраняет файл на диске. Этот метод реализован на следующем шаге.)

private void OnFileSaveAs(object sender, EventArgs e) {

if (dlgSaveFile.ShowDialog0 - DialogResult.OK) {

fileName = dlgSaveFile. FileName ; SaveFile 0 ;

3. Добавьте в файл метод SaveFile ():

private void SaveFile () {

try {

File.WriteAllText(fileName, textBoxEdit.Text);

catch (lOException ex) {

MessageBox.Show(ex.Message, Simple Editor ,

MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

Подобно методу OpenFile (), в данном случае мы используем класс File. Статический метод WriteAll () записывает строку в файл. Первый параметр определяет имя файла, а второй - строку, которая должна быть записана в файл.

Классы, используемые для доступа к файлам, подробнее описаны в главе 24.

4. После компоновки проекта запустите приложение (выберите в Visual Studio команду меню Debug=>Start (Отладка =>Пуск)). Запишите какой-нибудь текст в текстовом поле, а затем выберите пункт меню File=>Save As (рис. 17.15).



1 ... 172 173 174 [ 175 ] 176 177 178 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика