.net Windows формы и выбор шрифтов Vista - PullRequest
3 голосов
/ 31 октября 2008

Я создаю приложение .net с формами Windows. Я размышляю над следующей проблемой: если я укажу в приложении шрифты, доступные только в Vista и Office 07, что произойдет, если приложение попытается запустить их на компьютере без них?

Я полагаю, что система не сможет использовать шрифт своего семейства, поскольку они инициализируются внутренне с использованием строк (например, "Segoe UI").

Какую наилучшую практику следует придерживаться, чтобы я по-прежнему мог задавать шрифты через конструктор форм и не беспокоиться о таких вещах, как этот разрыв?

Ответы [ 6 ]

2 голосов
/ 31 октября 2008

Я думаю, что System.Drawing.SystemFonts.MessageBoxFont дает Segoe UI, Tahoma, затем MS Sans Serif в зависимости от ОС. Пока ваш макет достаточно плавный - WPF хорош в этом, но в Windows Forms он намного сложнее - тогда он будет отлично работать. В любом случае, стоит использовать этот параметр, а затем протестировать его на виртуальных машинах, чтобы выяснить, работает ли он.

Также, к сожалению, у дизайнера нет поддержки для установки такого шрифта, и он иногда сбрасывает вещи в жесткий код Segoe UI (если вы используете Vista).

Подобные вещи были одной из причин, по которой я начинаю переходить на WPF:).

2 голосов
/ 31 октября 2008

Либо проверьте ОС и используйте Tahoma в XP и Segoe UI в Vista, либо предоставьте пользователю возможность выбрать в диалоговом окне параметров. Похоже, что установка Segoe UI на XP большинством считается не выполненной.

1 голос
/ 31 октября 2008

Либо прими совет Джаспера, либо следуй моему: не делай этого. Если по какой-то причине вы не перерисовываете все приложение, просто используйте шрифты, уже определенные в системе. Если вы похожи на любое другое серое (или мягко тематическое) приложение линейного корабля, за исключением шрифтов, оно выглядит немного странным для пользователей.

В любом случае, включая шрифты, это нарушение EULA. Пользователи могут загрузить пакет совместимости с Office 2007 и получить большинство из них, но единственным заметным исключением будет (я полагаю) пользовательский интерфейс Segoe: этот шрифт предназначен только для Vista.

Если вы хотите быть другим, прислушайтесь к совету Джаспера и найдите XP против Vista. Если вы используете XP, используйте Tahoma или Trebuchet MS. Если вы работаете в Vista, используйте новые классные шрифты.

1 голос
/ 31 октября 2008

Я согласен с Брайаном Клайном, если вы можете включить их, которые будут лучше.

Отличный способ увидеть, что произойдет с чистой ОС, - это запустить виртуальную машину в вашей системе и установить на нее программу. У Microsoft есть бесплатная программа для виртуальных машин под названием «Microsoft Virtual PC». Используя это, вы можете загрузить любую операционную систему на виртуальной машине и проверить, как ваше приложение будет реагировать в «чистой» среде установки. Он будет работать так же, как обычный компьютер, и на нем будут только те программы, которые вы установили специально. Я использую это для своих приложений winforms, и это прекрасно работает!

Дайте мне знать, если это поможет! JFV

0 голосов
/ 31 октября 2008

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

0 голосов
/ 31 октября 2008

Сначала проверьте лицензионное соглашение в Office и Vista, чтобы убедиться, что шрифты не являются священными, но вы можете включить эти шрифты в пакет установщика и установить его.

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