C#单字体字符大小?

时间:2013-12-02 13:14:13

标签: c# fonts drawstring

这与字符串的大小无关。

我指定了绘制字符串的字体。现在我需要1个字符的精确宽度(以像素为单位)。我只允许具有静态字符宽度的字体(W和i在绘制时具有相同的宽度)。如果我使用大小为10的“Consolas”,我的估计宽度为7.75f。我能以某种方式直接检索这些信息吗?

绘图时我不需要这些信息,但是当我想设置光标位置等时,我不知道光标下面有什么文字。

编辑: MeasureString以11.99653作为字符宽度。不知道为什么。但我不能使用这个值。我估计7.75f而且非常精确。如果我想改变字体大小,我会遇到麻烦。

1 个答案:

答案 0 :(得分:2)

使用MeasureString方法:

Graphics g = this.CreateGraphics();
g.MeasureString("A", font, 10, StringFormat.GenericTypographic);

其中fontFont类的实例。