2016-04-13 1 views
0

Я работаю над настольным приложением Windows, которое будет использоваться в различных разрешениях и размерах текста. Прежде чем перейти к AutoScaling и другим способам работы настольного приложения, Мне нужно посмотреть, что видит пользователь.Масштабирование настольного приложения для различных разрешений и размеров текста: есть ли инструмент для просмотра того, что видит пользователь?

Регулировка разрешения моей машины разработки недостаточно. Самый большой кикер - это размер текста. Некоторые пользователи устанавливают значение 125% по умолчанию, которое искажает практически все.

Бесплатные инструменты, такие как this, позволяют воспроизводить только с разрешениями, не размеры текста.

Изменение размера текста в окнах 10 - это испытание, прыгающее через множество обручей. Вам нужно выйти и войти в систему. Также, когда я открываю проект в Visual Studio с изменением размера текста, формы поднимаются вверх. Размер формы сокращается со всеми элементами управления снаружи.

ответ

1

Я не 100% уверен, что ваш спрашивать о, но я думаю, что это может помочь вам

yourForm.AutoScaleMode = AutoScaleMode.Dpi; 

Также здесь больше информации о Scaling в Windows Forms: https://msdn.microsoft.com/en-us/library/ms229605.aspx

Или больше информации о письменной форме DPI осведомленных Win32 приложение: https://msdn.microsoft.com/en-us/library/windows/desktop/dn469266%28v=vs.85%29.aspx

+0

Самый большой вопрос: есть ли более простой способ увидеть, что пользователь видит, изменил ли пользователь размер текста по умолчанию (а не только разрешение)? Единственный способ - это изменить размер текста, выйти из системы и зайти в систему. – user79284

+0

Да, вы можете сделать новую графику var ill post post новый ответ о ней –

0

Вы можете получить размер текста окна пользовательского дисплея, сделав новый графический объект Примера:

Graphics graphics = this.CreateGraphics(); 
flaot windowsFontSize = graphics.DpiX; 
string fontSize = string.Empty; 

if(windowsFontSize == 96f) 
    fontSize = "Smaller"; 
else if (windowsFontSize == 120f) 
    fontSize = "Medium"; 
else if (windowsFontSize == 144f) 
    fontSize = "Larger"; 

информация здесь: How to get Windows Display settings?

+0

Извините, но я думаю, что мы все еще говорим о разных вещах здесь. Мой пользователь имеет размер текста, равный 125% по умолчанию (Панель управления -> Внешний вид и Персонализация -> Экран). С такими размерами многие вещи искажаются. Я хотел бы, чтобы более простой способ увидеть то, что он видит с этим размером текста, не поднимая мою собственную машину и среду разработки (или используя его машину). Я не говорю о том, как это исправить. ** Мне нужно посмотреть, что он видит ** – user79284

+0

Это скажет вам, что он сделал, если windowsFontSize = 120, что означает, что его размер текста установлен на 125%. Но если вы хотите посмотреть, сколько времени строка с выбранным шрифт, который вы можете использовать 'Graphics.MeasureString (String, Font)' Информация найдена здесь: https://msdn.microsoft.com/en-us/library/6xe5hazb%28v=vs.110%29.aspx –

+0

И если вы пытаясь имитировать его, самым простым способом является просто изменить размер шрифта в ваших настройках, но если вы не хотите этого делать, вы всегда можете умножить размер всего в вашей форме на сумму, которую у вашего клиента есть у –

0

Единственный способ иметь запуск программы на 125% масштаб текста без изменения вам размер шрифта в настройках или умножая все в вашей форме на 125%, чтобы запустить виртуальную машину , Я могу лично поручиться за Parallels и VMware. Если вы хотите больше узнать о Virtual Machines, вы можете прочитать следующее: https://en.wikipedia.org/wiki/Virtual_machine

+0

Я надеялся на эмулятор экрана. Разве это не означает получение лицензии ОС для каждой виртуальной машины? – user79284

+0

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

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