如何增加richtextbox中文本的字体大小

Posted

技术标签:

【中文标题】如何增加richtextbox中文本的字体大小【英文标题】:How do I Increase Fontsize for text in richtextbox 【发布时间】:2016-04-24 15:31:44 【问题描述】:

每次调用方法时如何设置字体大小。我想使用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)执行速度很慢,并且上述代码一次又一次地使用,不仅一次。 【参考方案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 我不明白你现在的问题是什么,你能否提出另一个问题,因为它似乎与这个完全不同?

以上是关于如何增加richtextbox中文本的字体大小的主要内容,如果未能解决你的问题,请参考以下文章

如何在C#中更改richtextbox中多种大小的字体?

在高 DPI 设置下调整 RichTextBox 字体大小

VB。如何把 TEXT 文本框中选中的字体 变成想要的颜色

怎样使用C#的RichTextBox控件

当字体大小在本机反应中增加时,文本不会换行

如何增加文本小部件的字体大小?