Windows High DPI Scaling для WinForm - PullRequest
       25

Windows High DPI Scaling для WinForm

0 голосов
/ 02 февраля 2020

У меня было много проблем. После нескольких дней экспериментов я наконец понял, как правильно масштабировать WinForms. Это может помочь и другим людям.

Существует множество рекомендаций по изменению файлов app.manifest или app.config. Решение могло бы работать с более ранними версиями Windows, но ни одна из них не работала для меня. После установки моего приложения изображения и элементы управления были испорчены (в отладке Visual Studio все работало). После некоторого тестирования я увидел, что изменение параметра «масштабирование с перезаписью с высоким разрешением на дюйм» на «приложение» работает для меня. Но я хотел поддержать это прямо в приложении, а не изменять некоторые настройки Windows. Changing high dpi inside windows

Я наткнулся на документ поддержки Windows, объясняющий, что они изменили некоторое масштабирование DPI с последней версией Windows, и старые методы могут не работать.

1 Ответ

1 голос
/ 02 февраля 2020

Все, что вам действительно нужно сделать, это выполнить следующие шаги:

  1. Найдите ваш app.config
  2. Между </startup> и <userSettings>, вставьте следующий фрагмент
<System.Windows.Forms.ApplicationConfigurationSection>
  <add key="DpiAwareness" value="PerMonitorV2" />
</System.Windows.Forms.ApplicationConfigurationSection>
Сохраните файл и перезагрузите ваш проект Убедитесь, что вы удалили любые другие корректировки из своего манифеста Установите это в своем основном методе или точке входа

Application.EnableVisualStyles()

Вот и все! Ваше приложение должно отлично выглядеть в среде 4K после установки на компьютер. Для получения дополнительной информации см. эту статью от Microsoft.

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