C # / WinForms: как предотвратить изменение шрифта в зависимости от языка ОС - PullRequest
0 голосов
/ 23 сентября 2010

Я написал программу WinForms на C # и оставил шрифт по умолчанию для всех элементов управления формы (ярлыки, флажки ...) (я думаю, что это шрифт Tahoma, хотя и не уверен).Когда я компилирую программу и затем запускаю ее на компьютере с японским языком, все шрифты переключаются на «MS UI Gothic» (японский шрифт).

Есть ли в любом случае, я могу заставить шрифт быть таким же навсе платформы?В настоящее время он сильно портит макет, так как символы имеют разную ширину в зависимости от шрифта ...

Ответы [ 3 ]

3 голосов
/ 23 сентября 2010

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

При этом вы можете принудительно установить шрифт, установив свойство Font в форме.Большинство (если не все) элементы управления наследуют шрифт от формы, если у них нет явного шрифта их собственного набора.Таким образом, вы можете явно установить Font в конструкторе форм или - если вы хотите, чтобы точный шрифт был определен во время выполнения - в конструкторе после вызова InitializeComponent().Но когда вы сделаете это, помните, что ① это вызовет исключение, если шрифт не существует на другом компьютере;и ② вы затрудняете интернационализацию вашего программного обеспечения в будущем.

1 голос
/ 23 сентября 2010

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

0 голосов
/ 23 сентября 2010

Если ваша программа будет работать на другой языковой ОС, вы должны учитывать это как можно более заранее. Вот хорошая стартовая статья из MSDN - Пошаговая глобализация и, в частности Пошаговая глобализация

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...