如何以正确的字体呈现unicode字符?(C#/的WinForms)

Ste*_*tze 6 c# unicode rendering winforms

我的应用程序正确处理不同类型的字符集,但只在内部 - 当在标准的WinForms标签和文本框中显示文本时,它似乎有中文字符的问题.

问题似乎是使用的字体(Tahoma),因为当我复制和粘贴文本,或在调试器中查看它时,它会正确显示.此外,当我将MS Mincho设置为要使用的字体时,屏幕上的字符看起来还可以.

当然,我不想在整个应用程序中使用MS Mincho.我是否必须根据显示的字符切换字体,还是有更好的方法我错过了?

bzl*_*zlm 4

Windows 2000 中引入的UniScribe应该可以透明地处理此问题,这意味着它将自动对您选择的字体中不存在的字符使用不同的字体(例如 Mincho)。这就是为什么它在调试器中看起来是正确的,即使调试器中使用的字体不包含中文字符。也许您正在做的事情会禁用 UniScribe,或者在其他方面存在问题。也许如果您可以粘贴一些代码,可能会更容易识别问题。