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