Как побороть потерю резкости текста в WinForms при масштабировании?

Есть программа на C#.
Через настройки экрана увеличиваем масштабирование до 150%.
Тексты с WinForms становятся размытыми в то время как шрифт нативных окон Windows остается резким. Можно ли сделать, чтобы тексты в приложении тоже не теряли четкость при масштабировании?
3kwAZ0t.png
  • Вопрос задан
  • 1284 просмотра
Решения вопроса 1
alex1t
@alex1t
.net developer
Можно. Для начала неплохо прочитать это "Сложности современного масштабирования":
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5

А в остальном - надо ставить признак, что приложение DpiAware
stackoverflow.com/a/13228495/4758517
stackoverflow.com/questions/4075802/creating-a-dpi...
www.telerik.com/blogs/winforms-scaling-at-large-dp...

ну а если у вас .NET 4.5.2, то вам повезло больше:
www.infoq.com/news/2014/05/DotNet-4-5-2
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Lexans
Я решил проблему глобально. Добавил explorer в исключения масштабирования с размытием. При этом во всех остальных приложениях тоже отключается масштабирование.
Делается это следующим твиком реестра
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Windows\\explorer.exe"="~ HIGHDPIAWARE"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы