Я не понимаю, как правильно настроить масштаб моей формы.Когда я создаю форму, в моем случае WVGA, горизонтальную ориентацию, она выглядит как верхнее изображение ниже.Однако на устройстве текст масштабируется намного больше.Установка более низкого размера шрифта в конструкторе помогает мне сделать это правильно, но это не может быть правильным способом сделать это.
Дизайнер против устройства http://files.zzattack.org/images/cfwinformscaling_small.png.
Какой правильный путьзаставить шрифты выглядеть одинаково как в дизайнере, так и на моем устройстве?Свойство AutoScaleMode.Font недоступно в Compact Framework, отключение автоматического масштабирования также не помогает (тот же результат, что и AutoScaleMode.Dpi), и установка DPI устройства в Visual Studio, похоже, тоже не помогает.
Редактировать: Я думаю, что я сейчас понимаю.Форма была первоначально разработана для экрана 800x480 с разрешением 96x96 точек на дюйм.Теперь я пытаюсь использовать это на экране 800x480 с разрешением 192x192 точек на дюйм.Если я установлю AutoScaleMode на None, форма будет выглядеть хорошо, за исключением шрифтов, потому что ни один из элементов управления не должен быть перемещен или изменен в размере, потому что разрешение соответствует.DPI отличается, хотя, и поэтому шрифты выглядят плохо.Шрифт 12pt на 96x96 точек на дюйм выглядит намного больше на экране 192x192 точек на дюйм.Я не понимаю этого;Я думаю, что все будет наоборот.
Похоже, что "решением" было бы масштабирование только размеров шрифта.Теперь я не верю, что дизайнер winforms предлагает хорошее, элегантное решение для этого, так что я могу просто пройти через все элементы управления в моей форме и установить их размеры шрифтов, чтобы наполовину сократить оригинал. Это работает, но требует вдвое больше шрифтов.creations.
Кроме того, нечетные размеры шрифта округляются в меньшую сторону (при более высоком разрешении!), поэтому, если форма 96x96 имеет шрифт 7pt, который является вполне читабельным, выбирается шрифт 3pt (даже если вконструктор шрифтов), который гораздо менее читабелен.Не совсем хорошее решение.Кто-нибудь знает о лучшем?