我有一个RichTextBox
的项目,我正在尝试计算字体大小的差异。我看到了一些我不想要的奇怪数字,所以我制作了一个非常简单的测试应用程序。
我要做的是将第一个字符的字体大小和设置的字体大小设置为RichTextBox
本身,并使用以下内容在Label
中显示:
public Form1()
{
InitializeComponent();
richTextBox1.Text = "This is a test";
//richTextBox1.Font = new Font(richTextBox1.Font.FontFamily, 8.5f);
label1.Text = richTextBox1.Font.SizeInPoints.ToString();
richTextBox1.Select(0, 1);
label2.Text = richTextBox1.SelectionFont.SizeInPoints.ToString();
}
现在,这很好,所有(默认大小为8.25),但如果我取消注释该块中的行以将字体大小增加到8.5,我的标签读取8.5(label1)和8.25(label2)。我不确定这种差异来自哪里。如果我更改为8.6,则选择仍为8.25。但如果我改为8.7,则SelectionFont.SizeInPoints
返回9.设置为18.4,我选择了18.75 ...
现在我确定有一些疯狂的方法,我只是不清楚,并且很难计算出字体大小的真正差异,因为在我的测试应用中我应该理想在第一个字符和richTextBox1.Font.SizeInPoints
之间得到0。