
7. Текстовый редактор
Подготовка к работе
1. По указанной литературе изучить:
-
свойства компонентов richTextBox1, menuStrip1, openFileDialog1, saveFileDialog1 и fontDialog1;
-
создание обработчиков событий Activated, Click.
2. Составить процедуры решения задач.
Контрольные вопросы
-
Назначение и состав панелей инструментов в среде Visual C# 2010 Express. Как устанавливаются требуемые панели?
-
Отличия проектов оконное приложение и консольное приложение.
-
Назначение окна Конструктора формы.
-
Назначение элементов окна Редактора кода.
-
Состав и назначение окна Свойства элементов.
-
Основные объекты окна Свойства элементов. По каким принципам сформировано это окно?
-
Этапы создания приложений в среде Visual C# 2010 Express.
-
Состав простейших оконных приложений.
-
Дайте понятие свойства элемента и назовите известные свойства компонентов richTextBox1, menuStrip1, openDialog1.
-
Как можно устанавливать и изменять свойства объектов в режимах проектирования и выполнения программы?
-
Дайте понятие обработчика событий. Как он создается?
-
Объясните порядок сохранения оконного приложения и назначение сохраненных объектов.
-
Что происходит при отладке проекта?
Задание и порядок выполнения работы
-
Используя возможности ИСП Microsoft Visual C# Express, создать проект – оконное приложение «Текстовый редактор», который должен иметь возможность работать с файлами и их фрагментами.
Интерфейс текстового редактора должен содержать следующие элементы:
-
окно редактирования, заполняющего всю рабочую область формы для ввода, редактирования текста и форматирования символов шрифта (рис. 7.4);
-
оконное меню с основными пунктами «Файл», «Правка», «Формат», опциями, позволяющими выполнять команды с файлом и его фрагментами и «горящими» клавишами (рис. 7.1);
Пункты меню «Правка» и «Формат» создать по варианту, согласно табл. 7.1.
-
Д
обавить в оконное меню пункт «Задача», с опцией «Решить» при активизации которой параметры шрифта текстового редактора менялись бы согласно варианту, приведенному в табл. 7.2.
Рис 7.1 Опции оконного меню «Текстовый редактор»
Таблица 7.1
N |
«Правка» |
«Формат» |
1 |
Вырезать, Копировать, Вставить, Выделить все, Очистить |
Шрифт Цвет шрифта (Синий, Оранжевый, Серый) |
2 |
Вырезать, Копировать, Вставить, Отменить ввод, Повтор ввод |
Шрифт Цвет шрифта (Индиго, Красный, Золотой) |
3 |
Вырезать, Копировать, Вставить, Выделить все, Отменить ввод |
Шрифт Цвет шрифта (Красный, Желтый, Зеленый) |
4 |
Вырезать, Копировать, Вставить, Очистить, Отменить ввод |
Шрифт Цвет шрифта (Пурпурный, Синий, Черный) |
5 |
Копировать, Вырезать, Вставить, Выделить все, Очистить |
Шрифт Цвет шрифта (Красный, Лимонный, Серый) |
6 |
Копировать, Вырезать, Вставить, Отменить ввод, Повтор ввод |
Шрифт Цвет шрифта (Желтый, Коричневый, Синий) |
7 |
Копировать, Вырезать, Вставить, Выделить все, Отменить ввод |
Шрифт Цвет шрифта (Хаки, Фиолетовый, Красный) |
8 |
Копировать, Вырезать, Вставить, Удалить, Отменить ввод |
Шрифт Цвет шрифта (Оливковый, Синий, Желтый) |
9 |
Отменить ввод, Повтор ввод, Вырезать, Копировать, Вставить |
Шрифт Цвет шрифта (Малиновый, Серый, Зеленый) |
10 |
Выделить все, Удалить, Вырезать, Копировать, Вставить, |
Шрифт Цвет шрифта (Индиго, Оранжевый, Красный) |
11 |
Отменить ввод, Повтор ввод, Вырезать, Копировать, Вставить, Удалить |
Шрифт Цвет шрифта (Хаки, Золотой, Серебряный) |
12 |
Отменить ввод, Повтор ввод, Вырезать, Копировать, Вставить, Выделить все |
Шрифт Цвет шрифта (Оливковый, Красный, Синий) |
Таблица 7.2
N |
Name |
Size |
Style |
N |
Name |
Size |
Style |
1 |
Arial Narrow |
16 |
Bold |
7 |
Courier New |
17 |
Bold |
2 |
Arial |
15 |
Italic |
8 |
Georgia |
18 |
Italic |
3 |
Verdana |
14 |
Underline |
9 |
Garamond |
19 |
Underline |
4 |
Berlin Sans FB |
14 |
Bold |
10 |
Raavi |
19 |
Bold |
5 |
Book Antiqua |
16 |
Italic |
11 |
Lucida Fax |
17 |
Italic |
6 |
Century |
15 |
Underline |
12 |
Tahoma |
18 |
Underline |
Методические указания по выполнению задания
-
Создать приложение Windows Forms (Application), выбирая его в диалоговом окне Начальная страница командой Файл\ Создать\Проект\ Приложение Windows Forms \ ОК. Среда C# формирует заготовку для проекта, показанную на рис.7.2. Имя проекта по умолчанию содержит слово Form1 с номером в сеансе работы с ИСР.
-
Используя команду Вид \ Другие окна, установить недостающие окна: Панель элементов, Свойства, Обозреватель решений.
-
Перенести на форму компоненты richTextBox1, menuStrip1, openFileDialog1, saveFileDialog1 и fontDialog1, находящиеся на панели Элементов (рисунок 7.2).
-
Выделить Form1 и в окне «Свойства» для этого компонента выбрать пункт «Size». Установить размеры формы 500х400.
-
Аналогично, используя свойство Text изменить надпись на форме на «Мой редактор».
Рис 7.2 Окно создания приложения Windows Forms
-
Выделить richTextBox1 и в окне «Свойства» для этого компонента выбрать пункт «Dock». Изменить значение «None» на значение «Fill», что бы размеры richTextBox1заполнили всю рабочую область формы (рисунок 7.3).
Рис 7.3. Окно этапа проектирования
-
Выделить объект menuStrip1 и с помощью мыши, создать меню с главными пунктами: «Файл», «Правка», «Формат», «Задача». В пункте меню «Файл» создать опции «Создать», «Открыть», «Сохранить», «Сохранить как». В пункте «Правка» создать опции согласно списку N варианта, приведенного в табл. 7.1. И в пункте «Формат» создать опции «Шрифт» и «Цвет» с под опциями по варианту. Для установки командных клавиш использовать свойство ShortCutKeys. Полученный вариант оконного меню приведен на рисунке 7.1.
-
Создать обработчики событий для всех пунктов меню. Для этого:
-
Выбрать в меню «Файл» пункт «Создать» и дважды щёлкнуть по нему левой клавишей мыши. Перейти в редактор кода, и ввести следующий код:
private void создатьToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Text = " "; // создать новый файл
}
* Если двойной щелчок мыши по пункту не срабатывает, то можно в окне Свойства на вкладке События, найти событие Click и справа от его имени щелкнуть дважды мышью по пустому полю.
-
Для пункта меню «Открыть» аналогично создать заготовку и ввести в редактор код, позволяющий открыть файл, используя для этого окно диалога openFileDialog1:
private void отрытьФайлToolStripMenuItem_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK &&
openFileDialog1.FileName.Length > 0) //нажатие на кнопку «ОК» ОД и наличие имени файла
{
try
{ //загрузить файл
richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.RichText);
}
catch (System.ArgumentException ) //системный обработчик исключений
{
richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText);
}
}
}
-
Для пункта меню «Сохранить» создать заготовку и ввести в редактор код, позволяющий, сохраняющий файл без изменения его имени:
private void сохранитьToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.SaveFile(@".\Example.rtf");
}
-
Для пункта меню «Сохранить как» создать заготовку с кодом, позволяющим сохранить файл под новым именем и в другом месте, используя для этого окно диалога saveFileDialog1:
private void сохранитьКакToolStripMenuItem_Click(object sender, EventArgs e)
{
if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK &&
saveFileDialog1.FileName.Length > 0)
{
richTextBox1.SaveFile(saveFileDialog1.FileName);
this.Text = "Файл [" + saveFileDialog1.FileName + "]";
}
}
-
Аналогично создать обработчики событий для пунктов меню «Правка». Название пунктов меню и соответствующие им команды для объекта richTextBox1 приведены в табл. 7.3.
Таблица 7.3
-
Пункты меню «Правка»
Команды
Пункты меню «Правка»
Команды
Вырезать
Cut()
Отменить ввод
Undo()
Копировать
Copy()
Повтор ввода
Redo()
Вставить
Paste()
Выделить все
SelectAll()
Удалить
Clear()
Очистить
Clear()
Например:
private void выделитьВсеToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.SelectAll(); // выделить все
}
-
Для опции «Шрифт» меню «Формат» ввести код, при выполнении которого, происходит установка параметров шрифта объекта richTextBox1 с помощью окна диалога fontDialog1.Font:
private void шрифтToolStripMenuItem_Click(object sender, EventArgs e)
{
if (fontDialog1.ShowDialog() == DialogResult.OK) //при нажатии на кнопку «ОК» в ОД richTextBox1.SelectionFont = fontDialog1.Font; // параметры шрифта устанавливаются как в ОД
}
-
Для опций «Цвет» шрифта ввести коды, при выполнении которых, цвет символов шрифта объекта richTextBox1 изменяется на цвет, заданный по варианту, например:
private void пурпурныйToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.ForeColor=Color.Purple; //цвет шрифта пурпурный
}
-
Для пункта «Задача» создать заготовку и ввести в редактор код, устанавливающий параметры шрифта объекта richTextBox1 в соответствии с вариантом, например:
private void задачаToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Font = new Font("Arial Black", 20, FontStyle.Bold); //имя, размер, стиль шрифта
}
-
Сохранить код проекта в папке Р7 под именем TextEditor.
-
Откомпилировать проект командой Отладка \ Начать отладку. Ошибки необходимо устранить, после чего повторно откомпилировать проект.
-
Создать в своем редакторе файл с титульным листом выполненной работы. Сохранить текстовой файл в папке P7 под именем Title.txt (рис. 7.4). Опробовать работу всех пунктов меню и проанализировать полученный результат на соответствие поставленных задач.
-
Подготовить отчет по лабораторной работе с интерфейсом проекта (рис. 7.4) и его кодом.
Рис 7.4. Интерфейс проекта в режиме запуска