我正在尝试使我的C#应用程序在Windows Vista或Windows 7中运行时看起来更好。默认情况下,Windows窗体应用程序使用 Microsoft Sans Serif 字体,该字体无法正确链接到亚洲清晰字体,例如 Meiryo 。
要解决此问题,请将所有字体设置为 Segoe UI (或SystemFonts.MessageBoxFont
)。这对大多数控件都很有效,但是我注意到它会导致至少ComboBox
控件出现奇怪的显示故障:
ComboBox
无法正确显示此列表。字符奇怪地被裁剪,所选项目看起来需要比最初保留的空间更多的空间。
此行为是否有任何解决方案或解决方法?
如果你想亲自试试,这是我的项目清单:
谢谢!
答案 0 :(得分:2)
我在Win7上重复。字体映射器中的东西被它的外观所吸引,替代字体显然太大了。值得注意的是Microsoft Sans Serif出现不的问题。它在我的机器上映射得很好。
在这里提供便宜的建议很难,你真的需要Microsoft支持的帮助。您还应该在日语版的Windows上进行检查,可能会有不需要映射的字体。
答案 1 :(得分:0)
我有一个类似的问题(但是有一些其他字符和字体)不确定它是否适合你,但实现DrawItem事件并自己绘制文本非常简单。
我们使用与此类似的方法:https://stackoverflow.com/a/857232/417721