使vb.net应用程序DPI知道

我需要使我的vb.net应用程序在任何DPI设置上都能正确扩展.当前,如果设置不是标准设置,它就会变得混乱.

我发现的所有内容均涉及c#或VB的较旧版本或Visual Studio Pro,但与我使用的版本不兼容.

我在Visual Studio Express 2013上.

谢谢

最佳答案
摘自Telerik网页上的文章WinForms scaling at large DPI settings – is it even possible?

声明DPI感知是在清单文件中完成的.
您可以使用以下标记来设置dpiAware标志.对于支持DPI的应用,可能的值为True;对于不支持DPI的应用,可能的值为False;对于每个监视器DPI的应用,可能的值为True / PM.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
   <asmv3:application>
        <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
             <dpiAware>true</dpiAware>
        </asmv3:windowsSettings>
   </asmv3:application>
</assembly>

WinForms平台具有其自己的缩放机制,该机制可以计算设计表单的系统与运行该表单的系统之间的缩放差异.然后,它根据计算出的系数修改所有控件的大小和位置.请注意,只有在您的应用程序声明支持DPI时,才会触发此缩放,否则它将在96 DPI沙箱中呈现,并且将使用操作系统的位图缩放.

转载注明原文:使vb.net应用程序DPI知道 - 代码日志