Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 189

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 183 184 185 186 187 188 < 189 > 190 191 192 193 194 195 .. 404 >> Следующая


Использование диалоговых окон____________ 403

3. Добавьте в файл метод SaveFilen в приведенном здесь виде: protected voi,d SaveFileO {

tty

( .

Stream stream « File.OpenWrite(fileName) ; using (StreemWriter writer = new Streamwriter (stream)) t

writer .Write(textBoxBdit.Text)j '

>

)

catch (IOException ex)

(

MesaageBox.Show(ex,Message, 'Simple Editor*.

HeseageBoxButtone,OK, MessageBoxXcon.Exclamation)j

}

m

Как и в методе openFileO, для открытия файла используется класс File, однако в данном случае мы открываем его на запись с ПОМОЩЬЮ метода OpenWritef), возвращающего объект Stream, который передается конструктору класса streamwriter. Метод write о класса streamwriter записывает в файл все данные, находящиеся в textBox. В конце блока using streamwriter закрывается.

Объект stream, привязанный к writer также закрывается, поэтому никаких дополнительных обращений к методу Close() для объекта stream не требуется.

Более подробно вы сможете -познакомиться с классами, использующимися для осуществления ввода/вывода, в главе 20.

4. После того как проект будет построен, можно запустить приложение с помощью меню Debug | Start в Visual Studio.NET. Введите какой-либо текст в текстовое окно и перейдите в меню File | Save As..., как показано на рисунке слева.

Это приведет к появлению Диалога SaveFileDialog, изображенного на рисунке справа. Теперь можно сохранить файл, а затем снова открыть его для внесения каких-либо дополнительных изменений.

Г T ^SImpli! Edi-tur \r.r- f
i*- ’ ' .
: Msw
j Pt*n— Ж
! • Saw ¦
g Save A;,,. шш
и ц 1
404

. Глава 15

Практикум: реализация обработчика событий Save

1. На настоящий момент мы можем выполнять операцию Save As, а вот простую операцию Save мы выполнять пока не умеем.

Добавьте обработчик событий “щелчок мышью” во вхождение меню Save и введите следующий код:

private void miFileSave_Click(object sender. System.EventArga e)

( ' if (filename = ‘Untitled*)

(

miFileSftveAs_Cliclc(sender, e); '

}

else _

(

SaveFile();

)

}

Как это работает

В меню Save файл должен сохраняться без открытия каких-либо дополнительных диалогов. Из этого правила есть единственное исключение — если создается новый документ, а пользователь не указал его имя, то обработчик Save должен работать как обработчик Save As и выводить диалог сохранения файла,

С помощью переменной fileName можно легко проверить, был ли данный файл открыт или имя файла по-прежнему имеет начальное значение untitled, которое присваивается новому документу в момент его создания. Если в результате выполнения оператора if получается значение true, то мы просто вызываем обработчик miFiieSaveAa_ciick(), который был реализован нами ранее для меню Save As.

Если же файл был открыт, а пользователь выбирает меню Save, управление передается на блок else,

В этом случае есть возможность использовать метод s&veFileO, разработанный ранее.

Практикум: задание заголовка формы

В Notepad, Word и других приложениях Windows имя файла, который редактируется в настоящий момент, выводится в качестве заголовка данного приложения. Нам тоже следует реализовать такую возможность.

Создайте новый элемент — функцию SetForroTitloO и введите следующую реализацию:

protected void SetFonnTitleO {

Filelnfo fileinfo = new Filelnfo (fileName);

this.Text “ fileinfo.Name ¦ * - Simple Editor*;

)

Класс Fileinfo позволяет получить имя файла без предшествующего ему пути, который хранится в переменной fileName. Классы Fileinfo и streamWriter будут рассматриваться и главе 20.

В обработчики miFileNew_Clic)c (), miFileOpen_Clicfc() Н miFile?aveA3_Cl icit () добавьте обращение к этому методу сразу после присваивания значения переменной fileName, как показано во фрагментах кода, приведенных ниже:
Использование диалоговых окон

405

private void miFileNew_Click(object sender, System.EventArgs e)

(

fileNanve = “Untitled*;

SetFormTitle(1i textBoxEdit.Clear();

)

private void raiFileOpen_Click(abject sender. System.EventArgs e)

(

if (dlgOpenFile.ShowDialogO == DialogResult.OK)

(

fileName = dlgOpenFile.FileName;

SetFormTitleОi OpenFile();

}

)

private void miFileSaveAs_Click(object sender, System.EventArgs e)

(

if {dlgSaveFile.ShowDialogO == DialogResult.OK)

(

fileHajne * dlgSaveJFile.FileNamej SetFormTitle()t SaveFilei);

)

)

Как это работает

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

Запустив приложение, вы сможет увидеть на экран, подобный изображенному на рисунке слева. Поскольку в данном случае автор редактирует файл с именем saraple.txt, то именно эта информация и выводится в качестве заголовка формы.

На этом создание простого редактора завершено: теперь он позволяет открывать, создавать и сохранять файлы, Можно ли этим ограничиться? Конечно, нет. Поскольку делопроизводство без использования бумаги пока еще не может существовать, нам потребуется реализовать некоторые возможности работы с принтером.
Предыдущая << 1 .. 183 184 185 186 187 188 < 189 > 190 191 192 193 194 195 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.