Como determinar quando os atributos de formatação mudam no controle RichTextBox dos Windows Forms

Um uso comum do controle Windows Forms RichTextBox é formatar texto com atributos como opções de fonte ou estilos de parágrafo. Seu aplicativo pode precisar controlar as alterações no texto de formatação para fins de exibição de uma barra de ferramentas, como muitos aplicativos de processamento de texto.

Para responder a alterações em atributos de formatação

  1. Escreva código no SelectionChanged manipulador de eventos para executar uma ação apropriada, dependendo do valor do atributo. O exemplo a seguir altera a aparência de um botão da barra de ferramentas dependendo do valor da SelectionBullet propriedade. O botão de barra de ferramentas será atualizado somente quando o ponto de inserção for movido no controle.

    O exemplo abaixo pressupõe um formulário com um controle e um controle que contém um RichTextBoxToolBar botão da barra de ferramentas. Para obter mais informações sobre barras de ferramentas e botões de barra de ferramentas, veja Como adicionar botões a um controle de barra de ferramentas.

    ' 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;  
          }  
       }  
    

Confira também