I have tried nearly all approaches that should allow reasonable scaling on for example 4K monitors. None works for me perfectly, sometimes there are problems with single controls (MenuStrip for example), sometimes there are problems with moving to another monitor, sometimes there are problems on HD, sometimes on 4K,...
The way that brought the most compatibility was the one described here: https://blogs.windows.com/windowsdeveloper/2017/05/19/improving-high-dpi-experience-gdi-based-desktop-apps/
I have extended the manifest file:
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2017/WindowsSettings">
<gdiScaling>true</gdiScaling>
</asmv3:windowsSettings>
</asmv3:application>
For example, for TabPages, ListViews, Groupboxes this solution works well (at least on all resolutions/scalings it looks OK), but button texts, labels and the MenuStrip are a bit blurred at for example 4K. Furthermore, a CustomListView (UserControl) is also blurred in contrast to the original ListView. I think its because these controls uses another graphics api for drawing their content.
Image: Compare crisp and blurry components
Is there a way to improve this blurring?