让vb.net应用程序了解DPI

时间:2014-04-16 06:35:08

标签: vb.net scale dpi

我需要让我的vb.net应用程序在任何DPI设置上正确扩展。如果设置不是标准设置,它会搞砸。

我找到的所有内容都指向c#或旧版本的VB或Visual Studio Pro,并且与我正在使用的版本不兼容。

我在Visual Studio express 2013上。

由于

1 个答案:

答案 0 :(得分:3)

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

声明DPI意识在清单文件中完成 您可以使用以下标记来设置dpiAware标志。 DPI感知应用程序的可能值为True,非DPI感知应用程序的值为False,每个monitor-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沙箱中呈现,并且将使用操作系统的位图缩放。