3 ms·
Microsoft has addressed it since WinForms 1.0, except that it's unfortunately not automatic. You need to include a simple application manifest that enables the
by cnahr 13y ago
Microsoft has addressed it since WinForms 1.0, except that it's unfortunately not automatic. You need to include a simple application manifest that enables the dpiAware flag, as described here:
http://msdn.microsoft.com/en-us/library/dd464660%28v=VS.85%29.aspx http://msdn.microsoft.com/en-us/library/dd464660%28v=VS.85%2...
That article stops short of Windows 8.1 which provides new multi-monitor options. Here's the latest manifest overview:
http://blogs.msdn.com/b/chuckw/archive/2013/09/10/manifest-madness.aspx http://blogs.msdn.com/b/chuckw/archive/2013/09/10/manifest-m...
- cnahr 13y agoFurther clarification: The manifest is the same you'd use for native applications. Microsoft automatically enables DPI awareness for WPF because that framework scales all coordinates automatically with DPI settings. WinForms doesn't do that. It requires extra code for proper DPI scaling, hence you need to manually apply the manifest if you have done that extra work. (Auto-generated Visual Studio projects might automatically provide both the necessary rigging and manifest, not sure.)