2016-11-02 4 views
1

Почему шрифт моей программы изменяется при открытии на другом устройстве/компьютере? Вот что такое эффект, когда он открывается на другое устройство и как он должен выглядеть первоначально. Левая сторона выглядит так, как будто она открыта в другом устройстве, а правая сторона - то, что должно быть. Любая помощь очень ценится. Цвет меняется каждый раз и контролируется таймером, если вам интересно.Изменение шрифта при открытии на другой компьютер

enter image description here

+0

принадлежащий выбранный шрифт TrueType шрифты через? – duDE

+0

@duDE Я считаю, что шрифт, который я использовал в этой программе, был «Monotype Corsiva». –

+1

Ну, это менее распространенный шрифт, и вы его установили в своей системе разработчика. Теперь вы переходите к своей программе в другую систему - здесь отсутствует шрифт. Таким образом, вы берете общий шрифт True Type (лучший выбор) или устанавливаете этот «Monotype Corsiva» в целевой системе. – duDE

ответ

2

Если назначенный шрифт не завершает работу на целевой системе он использует семейство шрифтов по умолчанию для отображения строки.

Кроме того, вы не назначаете Font форме явно, он использует DefaultFont, который возвращает SystemFonts.DefaultFont, который зависит от настроек системы и может отличаться в разных системах. Если вам нужно иметь похожий шрифт во всех системах, назначьте шрифт должным образом.

В ваше приложение можно использовать 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 
+0

Ссылка, которую вы подключили, находится на C#, я думаю ... И я действительно не знаю, C# 100%, чтобы перевести ее на VB. Help –

+1

Я добавил пример VB.NET. –

+0

Могу ли я это сделать, но файл шрифта находится в моих ресурсах? –

Смежные вопросы