- •Создание Windows-приложения «Редактор текста» в среде разработки Visual Studio содержание
- •Создание редактора текста
- •Добавление меню
- •Переименование меню и строк меню
- •Вставка поля редактирования
- •Обработка событий
- •Работа с файлами документа
- •Создание нового документа
- •Открытие существующего файла
- •Сохранение файла
- •Печать документа
- •Печать документа Добавление программных компонентов для печати
- •Настройка параметров страницы документа
- •Предварительный просмотр документа перед печатью
- •Отображение окна печати документа
- •Закрытие главного окна редактора текста
- •Закрытие главного окна формы
- •Реализация функция меню «правка»
- •Реализация функций меню «правка»
- •Реализация функций меню формат
- •Шрифт символов
- •Цвет символов
- •Стиль символов
- •Выравнивание параграфов
- •Реализация функций меню «справка»
- •Добавление новой формы
- •Отображение формы
- •Создание инструментальной панели
- •Добавление инструментальной панели в окно приложения
- •Добавление изображений в проект.
- •Редактирование кнопок инструментальной панели
- •Строка состояния
- •Строка состояния
Стиль символов
Редактируя документы, пользователи часто применяют выделение слов и фрагментов текста жирным шрифтом, наклоном, подчеркиванием или перечеркиванием. Для подобного форматирования в нашей программе предусмотрены строки меню второго уровня Начертание.
Реализация соответствующей функциональности возложена на методы SetBold, SetItalic, SetUnderline иSetStrikeout, которые мы добавили в обработчики сообщений строк меню Начертание:
private void menuFormatFontCharacterStyleBold_Click(object sender, System.EventArgs e) { SetBold(); // вызов метода – жирный шрифт } private void menuFormatFontCharacterStyleItalic_Click(object sender, System.EventArgs e) { SetItalic();// вызов метода –курсив } private void menuFormatFontCharacterStyleUnderline_Click( object sender, System.EventArgs e) { SetUnderline();// вызов метода – подчеркнутый шрифт } private void menuFormatFontCharacterStyleStrikeout_Click( object sender, System.EventArgs e) { SetStrikeout();// вызов метода – зачеркнутый шрифт }
Все эти методы имеют одинаковую внутреннюю структуру, поэтому подробно мы расскажем только об одном из них — о методе SetBold.
Вот исходный текст данного метода:
Получив управление, метод SetBold - определяет шрифт фрагмента текста, выделенного пользователем, анализируя свойство richTextBox1.SelectionFont. Если шрифт определить не удалось, и это свойство содержит значение null, наша программа не делает никаких изменений.
Далее метод SetBold проверяет, был ли выделен фрагмент текста жирным шрифтом, анализируя свойство richTextBox1.SelectionFont.Bold. Если это свойство содержит значение true, то метод SetBold снимает выделение, если нет, то устанавливает его.
Для снятия выделения программа записывает в переменную newFontStyle значение FontStyle.Regular, а для установки — значение FontStyle.Bold.
В дальнейшем содержимое переменной newFontStyle будет использована методом SetBold для изменения оформления выделенного фрагмента текста. Это изменение выполняется следующим образом:
richTextBox1.SelectionFont = new Font( currentFont.FontFamily, currentFont.Size, newFontStyle);
Здесь программа вначале создает новый шрифт как объект класса Font, передавая конструктору размер текущего шрифта currentFont.Size, а также новый стиль шрифта из переменной newFontStyle.
Далее этот шрифт записывается в свойство richTextBox1.SelectionFont, что и приводит к изменению стиля символов выделенного фрагмента текста.
Обратите также внимание, что при выделении фрагмента текста жирным шрифтом мы одновременно отмечаем «галочкой» строку меню Жирный. С этой целью мы вызываем созданный нами метод CheckMenuFontCharacterStyle:
Метод CheckMenuFontCharacterStyle по очереди проверяет стилевое оформление выделенных фрагментов, отмечая «галочками» соответствующие строки меню CharacterStyle или снимая со строк этого меню отметки.
Если фрагмент текста, выделенный пользователем, оформлен жирным шрифтом, свойство richTextBox1.SelectionFont.Bold содержит значение true. В этом случае наша программа отмечает «галочкой» строку Жирный меню Начертания, записывая значение true в свойство Checked данной строки:
menuFormatFontCharacterStyleBold.Checked = true;
Когда оформление жирным шрифтом снимается, программа убирает галочку, записывая в свойство Checkedзначение false:
menuFormatFontCharacterStyleBold.Checked = false;
Исходные тексты методов SetItalic, SetUnderline и SetStrikeout приведены ниже:
Установка стиля символов Italic
Установка стиля символов Underline
Установка стиля символов Strikeout