Sdílet prostřednictvím


Jak na to: Zjistit, kdy se změní atributy formátování v ovládacím prvku RichTextBox ve Windows Forms

Běžným použitím ovládacího prvku Windows Forms RichTextBox je formátování textu s atributy, jako jsou možnosti písma nebo styly odstavců. Aplikace může potřebovat sledovat všechny změny formátování textu pro účely zobrazení panelu nástrojů, stejně jako v mnoha aplikacích pro zpracování textu.

Reakce na změny atributů formátování

  1. Do obslužné rutiny události SelectionChanged napište kód, který provede odpovídající akci v závislosti na hodnotě atributu. Následující příklad mění vzhled tlačítka na panelu nástrojů v závislosti na hodnotě vlastnosti SelectionBullet. Tlačítko panelu nástrojů se aktualizuje jenom v okamžiku, kdy se kurzor přesune do ovládacího prvku.

    Následující příklad předpokládá formulář s ovládacím prvku RichTextBox a ovládacím prvku ToolBar, který obsahuje tlačítko panelu nástrojů. Další informace o panelech nástrojů a tlačítkách panelu nástrojů naleznete v tématu Postupy: Přidání tlačítek do ovládacího prvku 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;
          }
       }
    

Viz také