我需要让我的vb.net应用程序在任何DPI设置上正确扩展。如果设置不是标准设置,它会搞砸。
我找到的所有内容都指向c#或旧版本的VB或Visual Studio Pro,并且与我正在使用的版本不兼容。
我在Visual Studio express 2013上。
由于
答案 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沙箱中呈现,并且将使用操作系统的位图缩放。