Масштабирование с высоким разрешением Windows для WinForm

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

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

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


person max07    schedule 02.02.2020    source источник


Ответы (1)


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

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

Application.EnableVisualStyles()

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

person max07    schedule 02.02.2020