Change style of selected Text in RichTextBox

后端 未结 2 770
挽巷
挽巷 2020-12-18 13:28

How can I change styles (such as Font, FontSize, Brush) of selected Text in RichTextBox ?

Update : Let\'s say I\'ve a RichTextBox

相关标签:
2条回答
  • 2020-12-18 14:29

    For a WPF RichTextBox, you have to use the ApplyPropertyValue method to a TextRange. You can get the selected TextRange using the Selected property of the RichTextBox instance.

    var selection = myRichTextBox.Selection;
    if (!selection.IsEmpty)
        selection.ApplyPropertyValue(TextElement.FontSizeProperty, 10.0);
    
    0 讨论(0)
  • 2020-12-18 14:30

    WPF

    if (this.TextEditor.Selection.IsEmpty)
        this.TextEditor.CurrentFontFamily = SelectedFont;
    else
        this.TextEditor.Selection.ApplyPropertyValue(TextElement.FontFamilyProperty, SelectedFont);
    

    or another WPF Example

     private void ChangeTextProperty(DependencyProperty dp, string value)
        {
            if (mainRTB == null) return;
    
            TextSelection ts = richTextBox.Selection;
            if (ts!=null)
                ts.ApplyPropertyValue(dp, value);
            richTextBox.Focus();
        }
    

    here are some examples Windows Changing the Font & Font Color (not wpf)

    richTextBox1.SelectionFont = new Font("Tahoma", 12, FontStyle.Bold);
    richTextBox1.SelectionColor = System.Drawing.Color.Red;
    

    another example below (not wpf)

    private void WriteTextToRichTextBox()
    {
       // Clear all text from the RichTextBox;
       richTextBox1.Clear();
       // Set the font for the opening text to a larger Arial font;
       richTextBox1.SelectionFont = new Font("Arial", 16);
       // Assign the introduction text to the RichTextBox control.
       richTextBox1.SelectedText = "The following is a list of bulleted items:" + "\n";
       // Set the Font for the first item to a smaller size Arial font.
       richTextBox1.SelectionFont = new Font("Arial", 12);
       // Specify that the following items are to be added to a bulleted list.
       richTextBox1.SelectionBullet = true;
       // Set the color of the item text.
       richTextBox1.SelectionColor = Color.Red;
       // Assign the text to the bulleted item.
       richTextBox1.SelectedText = "Apples" + "\n";
       // Apply same font since font settings do not carry to next line.
       richTextBox1.SelectionFont = new Font("Arial", 12);
       richTextBox1.SelectionColor = Color.Orange;
       richTextBox1.SelectedText = "Oranges" + "\n";
       richTextBox1.SelectionFont = new Font("Arial", 12);
       richTextBox1.SelectionColor = Color.Purple;
       richTextBox1.SelectedText = "Grapes" + "\n";
       // End the bulleted list.
       richTextBox1.SelectionBullet = false;
       // Specify the font size and string for text displayed below bulleted list.
       richTextBox1.SelectionFont = new Font("Arial", 16);
       richTextBox1.SelectedText = "Bulleted Text Complete!";
    }
    
    0 讨论(0)
提交回复
热议问题