Практическое руководство. Отслеживание изменения атрибутов форматирования текста в элементе управления RichTextBox в Windows Forms
Обновлен: Ноябрь 2007
Как правило, элемент управления Windows Forms RichTextBox используется для форматирования текста с применением таких атрибутов, как параметры шрифта или стиль абзаца. В приложениях часто требуется отслеживать изменения формата текста, чтобы учитывать их при отображении панели инструментов, как это делается во многих текстовых редакторах.
Чтобы реагировать на изменения атрибутов форматирования, выполните следующие действия:
Добавьте в обработчик событий SelectionChanged код, выполняющий определенные действия в зависимости от значения атрибута. В приведенном ниже примере вид кнопки панели инструментов изменяется в зависимости от значения свойства SelectionBullet. Кнопка панели инструментов изменится только после перемещения курсора внутри элемента управления.
В этом примере предполагается наличие формы с элементом управления RichTextBox и элементом управления ToolBar, содержащим кнопку. Дополнительные сведения о панелях инструментов и их кнопках см. в разделе Практическое руководство. Добавление кнопок в элемент управления ToolBar.
' The following code assumes the existence of a toolbar control ' with at least one toolbar button. Private Sub RichTextBox1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RichTextBox1.SelectionChanged If RichTextBox1.SelectionBullet = True Then ' Bullet button on toolbar should appear pressed ToolBarButton1.Pushed = True Else ' Bullet button on toolbar should appear unpressed ToolBarButton1.Pushed = False End If End Sub
// The following code assumes the existence of a toolbar control // with at least one toolbar button. private void richTextBox1_SelectionChanged(object sender, System.EventArgs e) { if (richTextBox1.SelectionBullet == true) { // Bullet button on toolbar should appear pressed toolBarButton1.Pushed = true; } else { // Bullet button on toolbar should appear unpressed toolBarButton1.Pushed = false; } }
// The following code assumes the existence of a toolbar control // with at least one toolbar button. private: System::Void richTextBox1_SelectionChanged( System::Object ^ sender, System::EventArgs ^ e) { if (richTextBox1->SelectionBullet == true) { // Bullet button on toolbar should appear pressed toolBarButton1->Pushed = true; } else { // Bullet button on toolbar should appear unpressed toolBarButton1->Pushed = false; } }
См. также
Ссылки
Другие ресурсы
Элемент управления RichTextBox (Windows Forms)
Элементы управления для использования в формах Windows Forms