Поделиться через


Практическое руководство. Отслеживание изменения атрибутов форматирования текста в элементе управления 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;
          }
       }
    

См. также

Ссылки

SelectionChanged

RichTextBox

Другие ресурсы

Элемент управления RichTextBox (Windows Forms)

Элементы управления для использования в формах Windows Forms