【发布时间】:2015-12-09 20:00:41
【问题描述】:
我今天遇到了一件奇怪的事情,与winforms合作。
我创建了一个 RichTextBox,默认 FontSize 为 14.25 pt。
我正在执行一些操作,我需要创建临时的RichTextBox,我已经从我的原始RichtextBox 中复制了选定的文本。之后,在我没有做任何更改的情况下,整个 tempRichTextBox 文本的字体大小正好增加了 0.25 pt。每一个字母。是bug还是什么?
using (RichTextBox tempRichTextBox = new RichTextBox())
{
tempRichTextBox.Rtf = this.richTextBox.SelectedRtf;
int tempStart = this.richTextBox.SelectionStart;
int tempLength = this.richTextBox.SelectionLength;
for (int i = 0; i < tempLength; i++)
{
tempRichTextBox.Select(i, 1);
this.baseSize = tempRichTextBox.SelectionFont.Size;
}
tempRichTextBox.Select(0, tempLength);
this.richTextBox.SelectedRtf = tempRichTextBox.SelectedRtf;
this.richTextBox.Select(tempStart, tempLength);
}
有人知道为什么会这样吗?
【问题讨论】:
-
嗯,这不是你能看到的。你怎么知道的?
-
@HansPassant 你这是什么意思?复制后我检查了字体大小。在 14.25 之前是 14.50。
-
您究竟看到了什么?不止一个。 RTB 中文本的字体大小由 SelectionFont 属性提供,但前提是 SelectionStart 位于文本内。
-
在正文中?好的,如果我只选择了一个字母?就我而言,我已经给出了上面的示例代码?
-
@PawełPoręba,你能找到解决字体大小差异的方法吗?
标签: winforms c# winforms richtextbox