调用 TextRenderer.MeasureText 如下:
TextRenderer.MeasureText(myControl.Text, myControl.Font);
并将结果与控件的大小进行比较以检查文本是否适合。结果有时是不正确的。观察到以下两个问题:
- 通常,当 Label 设置为 AutoSize 时,TextRenderer 会报告比 Control 的自动调整宽度宽 1 个像素的宽度。
- TextRenderer 报告的宽度小于控件的宽度但文本仍被截断的错误否定。这发生在“Estación de trabajo”——不确定重音是否会以某种方式影响宽度计算?
有什么方法可以提高MeasureText方法的准确性吗?我应该调用接受设备上下文和/或格式标志的覆盖之一吗?