打开到另一台计算机时字体更改

时间:2016-11-02 12:49:58

标签: .net vb.net winforms fonts

为什么我的程序在其他设备/计算机中打开时字体会发生变化?这是打开到另一台设备时的效果以及最初应该是什么样的效果。左侧是在另一台设备中打开时的样子,右侧是它应该是什么样的。很感谢任何形式的帮助。如果你想知道的话,颜色每次都会改变并用计时器控制。

enter image description here

1 个答案:

答案 0 :(得分:2)

如果指定的字体未在目标系统上退出,则它使用默认字体系列来呈现字符串。

此外,您没有明确地将Font分配给表单,它使用DefaultFont返回SystemFonts.DefaultFont,这取决于系统设置,并且在不同的系统中可能有所不同。如果您需要在所有系统中使用相似的字体,请明确为表单的Font字体指定字体。

您可以embed the font进入您的申请。此外,如果您的应用程序附带安装程序,您可以在目标计算机上部署该字体。例如,在项目中添加字体并将其Copy To Output Directory设置为Copy Always,然后您可以这样使用字体:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim fontCollection = New PrivateFontCollection()
    fontCollection.AddFontFile(Path.Combine(Application.StartupPath, "MyFont.ttf"))
    Dim font = New Font(fontCollection.Families(0), 12)
    Me.Font = font
End Sub