How to activate “disable display scaling on high d

2019-04-10 06:43发布

问题:

This question already has an answer here:

  • How to configure an app to run correctly on a machine with a high DPI setting (e.g. 150%)? 4 answers

I am developing Windows form application using C# on Visual Studio 2010. I found that this application is scaled if I used high dpi display setting. But if I activate file property "disable display scaling on high dpi settings" by mouse right click menu on windows explorer, it seems that it is not scaled.

Is there a way to activate "disable display scaling on high dpi settings" programatically on Visual Studion 2010 C# or upper version ?

I tried to set application manifest file but not set it up successfully yet.

回答1:

Using manifest file (app.manifest under Visual C# project) resolved this issue for me. For example:

<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
  <dpiAware>true</dpiAware>
</asmv3:windowsSettings>

Of course this should be inside your main "assembly" section.

P.S. I verified this when debugging GitExtensions.

P.P.S. I understand that the question is old, but may be someone still needs the info.

Update: however it may lead to automatical undesired resizing of components on the windows form.