【问题标题】:How do I Increase Fontsize for text in richtextbox如何增加richtextbox中文本的字体大小
【发布时间】:2023-03-27 04:29:01
【问题描述】:

每次调用方法时如何设置字体大小。我想使用richtextbox.ApplyPropertyValue() 方法。我已经试过了

myrichtextbox.SetValue(TextElement.FontSizeProperty, fontSizedouble +10);

myrichtextbox.FontSize = (myrichtextbox.FontSize + 10);

【问题讨论】:

  • 它只会工作一次,对吗?
  • 问题是你有两个控件,一个是 myrichtextbox,第二个是 txtAppendValue,你将 txtAppendValue.FontSize + 10 添加到 myrichtextbox,它只会设置一次大小,因为 txtAppendValue.FontSize 永远不会改变
  • myrichtextbox.FontSize = (myrichtextbox.FontSize + 10);
  • @Darshan :我更新了我的问题。实际上,在使用上述两种方法后,其他功能(如 textpointer 和 textrange)执行速度很慢,并且上述代码一次又一次地使用,不仅一次。

标签: c# wpf richtextbox font-size


【解决方案1】:

从您的 FlowDocument 更改它。

this.Document.FontSize = this.Document.FontSize + 10;

【讨论】:

    【解决方案2】:

    对于富文本框,您需要选择--

    试试这个

    TextSelection selectedText = myrichtextbox.Selection;
    
    selectedText.ApplyPropertyValue(RichTextBox.FontSizeProperty, fontSizedouble +10);
    

    对于所有文本,您都可以试试这个 --

    TextRange allText = new TextRange(MyRichTextBox.Document.ContentStart, MyRichTextBox.Document.ContentEnd);
    
    allText.ApplyPropertyValue(RichTextBox.FontSizeProperty, fontSizedouble +10);
    

    要一次又一次地改变大小,你需要检查文本的大小而不是richTextBox,这样做--

    TextRange allTextRange = new TextRange(MyRichTextBox.Document.ContentStart, MyRichTextBox.Document.ContentEnd);
    
    var size = (double)allTextRange.GetPropertyValue(FontSizeProperty);
    
    allTextRange.ApplyPropertyValue(RichTextBox.FontSizeProperty, size + 10);
    

    【讨论】:

    • @Muds : 它只会增加选中的文本,我想改变整个 Richtextbox 文本,我想一次又一次地增加字体。
    • @ Muds : 第一次按下它就可以了。之后选择的文本字体只会增加。
    • Arjun,你看到我最后的更新了吗,用最后一个就可以了。
    • @ Muds:Ya.i 只使用了最后一个。在此代码块之后,我曾经将 textrange.clearallproperties() 方法用于另一个目的。它影响到你的代码块吗?
    • dude tbh 我不明白你现在的问题是什么,你能否提出另一个问题,因为它似乎与这个完全不同?
    猜你喜欢
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 2013-04-03
    • 2015-12-05
    • 2012-08-11
    • 2017-10-07
    • 2014-09-22
    • 1970-01-01
    相关资源
    最近更新 更多