如何避免使用零宽度连接器的Graphics.MeasureString()中的异常?

时间:2018-03-25 22:44:57

标签: winforms gdi+

当我调用Graphics.MeasureString("?\u200d")时,我收到一个ExternalException“GDI +中发生了一般错误。”

\ u200d是unicode“零宽度连接器”,我猜它使用不正确,但我无法控制用户提供的数据,但我想测量它以便显示。它在绘制时也抛出异常。

我想我只需要解决这个问题,虽然这让我感到惊讶。

我注意到Visual Studio可以渲染字符串,也许是因为它不是建立在GDI +之上的?

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

使用TextRenderer.MeasureText(),然后在Graphics.DrawString vs TextRenderer.DrawText?Which can Deliver Better Quality中看到出色的(长)答案