Windows窗体应用程序在High-DPI显示VB上显示模糊

时间:2018-06-27 23:25:15

标签: windows vb.net forms display

下午全部!

自从我切换到具有高DPI显示屏的新笔记本电脑以来,我就注意到当我制作新的Windows Forms项目时,“文本”和“图像”显得模糊,有时表单的尺寸会变大。

我在C#中找到了有关如何解决此问题的指南。

我将所有形式的'AutoScaleMode'都更改为DPI而不是字体,但这没有用。

是否需要运行任何代码以使表格变得清晰?

谢谢! ProudAviatior

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,在有人问我答案之前,我四处抬头,我正确地更改了清单代码,现在它可以工作了。

因此只需打开app.manifest并包含<dpiAware>true</dpiAware>即可使您的应用程序能够感知DPI:

    <?xml version="1.0" encoding="utf-8"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
    <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
            <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
                <requestedExecutionLevel level="asInvoker" uiAccess="false" />
            </requestedPrivileges>
        </security>
    </trustInfo>
    <asmv3:application>
        <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
            <dpiAware>true</dpiAware>
        </asmv3:windowsSettings>
    </asmv3:application>
</assembly>

它将完成您的工作。

参考:https://stackoverflow.com/a/13228495