|
Программирование >> Программирование с использованием ajax
Практическое занятие Использование элементэ управления RichTextBox Как всегда, начнем с разработки формы. 1. Создайте новое Windows приложение RichTextBoxTest на С# в каталоге С:\BegVCSharp\Chapterl5. 2. Создайте форму, как показано на рис. 15.14. Текстовое поле txtSize должно быть элементом управления типа TextBox. Текстовое поле RichTextBoxText должно быть элементом управления типа RichTextBox. ки1о£Ыс I jbikHtUiKicibe] [ xloniolc butaCete ] t b l5in (MBct-Soi i nchTex o<rexf Puc. 15.14. Форма приложения RichTextBoxTest 3. Назовите элементы управления, как показано на рис. 15.14. 4. Установите свойство Text всех элементов управления, кроме текстовых полей, в соответствии с их именами, за исключением первой части имени, описывающей тип элемента управления. 5. Измените значение свойства Text текстового поля textBoxSize на 10. 6. Выполните привязку элементов управления, как показано в табл. 15.13. Таблица 15.13. Привязка элементов управления для приложения RichTextBoxTest Имя элемента управления Значение привязки buttonLoad и buttonSave richTextBoxText Все остальные Bottom Тор, Left, Bottom, Right Top 7. Установите значение свойства MinimumSize формы таким же, как у свойства Size. Описание полученных результатов На этом реализация визуальной части примера завершается. Переходя непосредственно к работе с кодом, дважды щелкните на кнопке Bold, чтобы добавить в код обработчик события Click. Код обработчика события имеет следующий вид: private void buttonBold Click(object sender, EventArgs e) { Font oldFont; Font newFont; Получение шрифта, используемого в выбранном тексте. oldFont = this.richTextBoxText.SelectionFont; Если в настоящий момент шрифт использует полужирный стиль, нужно удалить форматирование, if (OldFont.Bold) newFont = new Font(oldFont, oldFont.Style & -FontStyle.Bold); else newFont = new Font(oldFont, oldFont.Style I FontStyle.Bold); Вставка нового шрифта и возвращение фокуса элементу управления RichTextBox. this.richTextBoxText.SelectionFont = newFont; this.richTextBoxText.Focus(); Начнем с получения шрифта, используемого в текущей выборке, и присваивания его локальной переменной oldFont. Затем проверим, не является ли эта выборка уже набранной полужирным шрифтом. Если да, атрибут полужирного шрифта нужно удалить. В противном случае его нужно установить. Новый шрифт создается с применением oldFont в качестве прототипа, но с добавлением или удалением полужирного стиля при необходимости. И, наконец, мы присваиваем новый шрифт выборке и возвращаем фокус элементу управления RichTextBox - объект Font подробнее описан в главе 33. Обработчики событий для кнопок buttonltalic и buttonUnderline аналогичны рассмотренному, за исключением того, что они выполняют проверку на наличие соответствующих стилей. Дважды щелкните на кнопках Italic и Underline и добавьте следующий код: private void buttonUnderline Click (object sender, EventArgs e) { Font oldFont; Font newFont; Получение шрифта, используемого в выбранном тексте. OldFont = this.richTextBoxText.SelectionFont; Если в настоящий момент шрифт использует подчеркнутый стиль, его нужно удалить, if (oldFont.Underline) newFont = new Font(oldFont, oldFont.Style & -FontStyle.Underline); else newFont = new Font(oldFont, oldFont.Style I FontStyle.Underline); Вставка нового шрифта. this.richTextBoxText.SelectionFont = newFont; this.richTextBoxText.Focus(); private void buttonltalic Click(object sender, EventArgs e) { Font oldFont; Font newFont; Получение шрифта, используемого в выбран1ом тексте. oldFont = this.richTextBoxText.SelectionFont; Если в настоящий момент шрифт использует курсивный стиль, его нужно удалить, if (oldFont.Italic) newFont = new Font(oldFont, oldFont.Style & -FontStyle.Italic); else newFont = new Font(oldFont, oldFont.Style FontStyle.Italic); Вставка нового шрифта. this.richTextBoxText.SelectionFont = newFont; this.richTextBoxText.Focus (); Дважды щелкните на последней кнопке форматирования Center и добавьте следующий код: private void buttonCenter Click(object sender, EventArgs e) { if (this.richTextBoxText.SelectionAlignment == HorizontalAlignment.Center) this.richTextBoxText.SelectionAlignment = HorizontalAlignment.Left; else this.richTextBoxText.SelectionAlignment = HorizontalAlignment.Center; this.richTextBoxText.Focus(); В этом методе нужно проверить еще одно свойство - SelectionAlignment, чтобы проверить, центрирован ли уже текст в выборке. Это требуется потому, что нам необходимо, чтобы кнопка вела себя подобно переключателю - если текст выровнен по центру, он становится выровненным по левому краю; в противном случае он становится выровненным по центру. Свойство HorizontalAlignment представляет собой перечисление, которое может принимать значения Left (по левому краю). Right (по правому краю). Center (по центру). Justify (по ширине) и NotSet (без выравнивания). В данном случае мы просто проверяем, установлено ли значение Center. Если да, то мы устанавливаем выравнивание по левому краю. В противном случае мы устанавливаем выравнивание по центру. Последняя задача, которую сможет выполнять наш простенький текстовый редактор - установка размера текста. Мы добавим два обработчика событий для текстового поля Size: один для управления вводом и один для обнаружения момента завершения ввода значения пользователем. В списке Events окна Properties найдите события KeyPress и Validated элемента управления textBoxSize и дважды щелкните на них, чтобы добавить в код обработчики этих событий. В отличие от события Validating, использованного ранее, событие Validated происходит после завершения всей проверки. Оба события используют вспомогательный метод ApplyTextSize, который принимает строку, содержащую размер текста: private void textBoxSize KeyPress(object sender, KeyPressEventArgs e) { Удаление всех символов, не являющихся цифрами, символом забоя или клавишей <Enter>. if ((e.KeyChar < 48 I I e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 13) e.Handled = true; else if (e.KeyChar == 13)
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |