![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
При создании MDI-приложений приходится разделять код для открытия и сохранения файлов, как мы делали для приложения Notepad C#. В случае SDI -приложений весь код будет находиться в одном обработчике. Cоздаем новое приложение, называем его TextEditor. На форме размещаем элемент управления TextBox и устанавливаем следующие свойства:
TextBox, свойство | Значение |
Name | txtBox |
Dock | Fill |
Multiline | true |
Text | Да |
Добавляем на форму элемент MainMenu, в котором будет всего три пункта — File, Open и Save (свойства этих пунктов см. втаблице 2.1). Из окна ToolBox перетаскиваем элементы OpenFileDialog и SaveFileDialog — свойства этих элементов в точности такие же, как и у диалогов приложения Notepad C#. Переходим в код формы. Подключаем пространство имен для работы с файловыми потоками:
using System.IO;
Добавляем обработчик для пункта меню Open:
private void mnuOpen_Click(object sender, System.EventArgs e)
{
//Показываем диалог выбора файла
openFileDialog1.ShowDialog();
// Переменной fileName присваиваем имя открываемого файла
string fileName = openFileDialog1.FileName;
//Создаем поток fs и открываем файл для чтения.
FileStream filestream= File.Open(fileName, FileMode.Open, FileAccess.Read);
//Проверяем, открыт ли поток, и если открыт, выполняем условие
if(filestream!= null)
{
//Создаем объект streamreader и связываем его с потоком filestream
StreamReader streamreader = new StreamReader(filestream);
//Считываем весь файл и записываем его в TextBox
txtBox.Text = streamreader.ReadToEnd();
//Закрываем поток.
filestream.Close();
}
}
2.8.
Добавляем обработчик для пункта меню Save:
private void mnuSave_Click(object sender, System.EventArgs e)
{
//Показываем диалог выбора файла
saveFileDialog1.ShowDialog();
// В качестве имени сохраняемого файла устанавливаем переменную fileName
string fileName=saveFileDialog1.FileName;
//Создаем поток fs и открываем файл для записи.
FileStream filestream = File.Open(fileName, FileMode.Create, FileAccess.Write);
//Проверяем, открыт ли поток, и если открыт, выполняем условие
if(filestream!= null)
{
//Создаем объект streamwriter и связываем его с потоком filestream
StreamWriter streamwriter = new StreamWriter(filestream);
//Записываем данные из TextBox в файл
streamwriter.Write(txtBox.Text);
//Переносим данные из потока в файл
streamwriter.Flush();
//Закрываем поток
filestream.Close();
}
}
2.9.
Запускаем приложение. Как уже отмечалось, элемент управления TextBox имеет встроенное контекстное меню, поддерживает сочетание клавиш для редактирования, а диалоговые окна открытия и сохранения позволяют этому простейшему приложению работать с внешними файлами.
Дата публикования: 2014-12-11; Прочитано: 345 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!