运行时显示错误的字体

时间:2012-12-05 15:32:50

标签: c# winforms fonts

我在某些标签(winforms)中使用Calibri字体,当我运行程序时,此标签显示为不同的字体。 我在没有Office的计算机上进行测试时看到了这个问题(因此没有安装Calibri),但现在我到处都看到它,甚至在Calibri安装良好的计算机上(我在设计器中看到了Calibri的标签;然后当我在调试模式,我看到另一种字体。)

标签过去表现得很好,我今天才看到这个问题(但可能几天都没有注意到,我不确定,但不长,我确定)。

昨天有一些Windows更新,有些是Office,但我不确定它是否相关。 Bottomline是我有calibri,calibri在设计器中显示,其他一些字体在运行时显示.. 我似乎与Segoe UI有同样的问题,但只有在使用SemiBold风格时..

这是结果的图像,左边是运行时,右边是VS设计者:

Left is runtime, right is designer

当我尝试使用Calibri粗体时更加明显;这次运行时位于右侧,设计者视图位于左侧:

Left for designer, right for runtime

1 个答案:

答案 0 :(得分:5)

每当您在Visual Studio中创建新的Windows窗体应用程序时,该模板都包含以下行

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(/*new instance of your form*/);

此行尤其可能会影响文本在应用程序中的呈现方式。

Application.SetCompatibleTextRenderingDefault(false);