Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНЫЕ РАБОТЫ по РПП.doc
Скачиваний:
77
Добавлен:
09.05.2015
Размер:
1.72 Mб
Скачать
  1. Работа с файлами документа

    1. Создание нового документа

Если пользователь выберет строку Новый  из меню Файл, наш редактор текста SimpleNotepad должен создать новый текстовый документ. В простейшем случае для этого достаточно просто очистить содержимое окна редактирования, вызвав метод Clear:

private void menuFileNew_Click(object sender, EventArgs e)

{

richTextBoxStream.Clear();

}

Метод Clear вызывается для объекта richTextBoxStream, т.е. для нашего окна редактирования, занимающего все пространство формы.

Открытие существующего файла

Для того чтобы реализовать в нашем редакторе текста функцию открытия файла, нам потребуется компонент OpenFileDialog. Перетащите значок этого компонента из панели Toolbox в рабочее окно дизайнера формы.

Значок компонента OpenFileDialog будет показан в нижней части формы (рисунок 2.1), причем этот компонент получит идентификатор openFileDialog1. Этот идентификатор будет использован нами в программном коде, открывающем исходный файл.

Рисунок 2.1 - Добавление компонента OpenFileDialog

Добавьте в класс SimpleNotepadForm новый метод MenuFileOpen, предназначенный для открытия существующего файла. Вот его исходный текст:

Если в окне выбора файла пользователь щелкнул кнопку Open, метод ShowDialog возвращает значение System.Windows.Forms.DialogResult.OK. В этом случае мы также дополнительно проверяем, что файл был выбран. Для этого мы сравниваем длину строки полного пути к выбранному файлу openFileDialog1.FileName.Length с нулем:

if(openFileDialog1.ShowDialog() ==   System.Windows.Forms.DialogResult.OK  &&   openFileDialog1.FileName.Length > 0)  {   … }

В том случае, когда пользователь выбрал файл, метод MenuFileOpen предпринимает попытку загрузить этот файл в редактор richTextBox1, вызывая для этого метод LoadFile:

try {   richTextBox1.LoadFile(openFileDialog1.FileName,       RichTextBoxStreamType.RichText); } catch (System.ArgumentException ex) {   richTextBox1.LoadFile(openFileDialog1.FileName,       RichTextBoxStreamType.PlainText); }

В качестве первого параметра этому методу передается путь к файлу, а в качестве второго — тип файла RichTextBoxStreamType.RichText. Этот тип соответствует формату RTF.

В том случае, если выбранный файл имеет формат, отличный от RTF, в методе LoadFile возникает исключение System.ArgumentException. Наш обработчик этого исключения выполняет повторную попытку загрузить файл, но на этот раз уже как обычный текст. Для этого мы передаем в качестве второго параметра методу LoadFile значение 

RichTextBoxStreamType.PlainText.

Если все сделано правильно, то после трансляции исходного приложения редактор сможет открывать существующие файлы для редактирования.

Как работает метод MenuFileOpen ?

Получив управление, он вызывает метод openFileDialog1.ShowDialog, отображающий на экране стандартное диалоговое окно выбора файла (рисунок 2.2).

Рисунок 2.2 - Стандартное диалоговое окно выбора файла

Настраивая свойства компонента openFileDialog1, можно изменять внешний вид этого окна.

Задайте фильтр имен открываемых файлов. Для этого выделите компонент openFileDialog1 в окне дизайнера форм левой клавишей мыши, а затем измените свойство Filter. Присвойте этому свойству следующую текстовую строку:

RTF files|*.rtf|Text files|*.txt|All files|*.*

Строка фильтра состоит из блоков, разделенных символом |.

Первый блок задает название типа файла RTFfiles, отображаемое в поле Files of type диалогового окна выбора файла (рисунок 14), а второе — маску для имен файлов. Таким образом, для открытия документов RTF используется маска *.rtf.

Далее следует название формата Text files, соответствующее обычным текстовым файлам. Для этого формата применяется маска *.txt.

И, наконец, чтобы приложение могло открывать файлы любых типов (All files), используется маска *.*.

Продолжим работу. Оттранслируйте и запустите наше приложение. Выбрав с помощью только что описанного окна текстовый файл или файл RTF, щелкните кнопку Open. Выбранный файл будет загружен в окно нашего редактора текста (рисунок 2.3).

Рисунок 2.3 - Загружен файл для редактирования

Полный путь к редактируемому файлу будет отображен в заголовке главного окна нашего приложения.