在Windows 10中运行时,我的vs2013应用程序的字体模糊

use*_*447 9 windows visual-studio winforms

升级到赢得10后我的vs 2013表格在运行时显得模糊,并且风格与2013年在设计模式下拍摄时不同.

尝试安装vs 2015和模糊效果仍然是相同的

编辑 - 这里

我正在添加图片以帮助澄清.还有许多其他变化,例如消除3d按钮

这是编辑模式下的表单

这是运行时模式中的表单

use*_*447 5

显然,这个问题始于 Windows 8,我像躲避瘟疫一样避开了它。
这是我找到的解决方案:

通过转到 添加清单Project > Add New Item > Application Manifest File

对于 Visual Studio 2015 及更高版本,您可以简单地取消注释此代码:

<application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
        <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
    </windowsSettings>
</application>
Run Code Online (Sandbox Code Playgroud)

在旧版本的 Visual Studio 中,您需要自己添加此代码,因为它不会自动出现在清单中。


Ays*_*ter 5

调用外部函数在整个应用程序中进行设置。没有比这更容易的了:

 [STAThread]
    static void Main()
    {
        **SetProcessDPIAware();** //THIS
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }

    //ADD THESE TWO LINES !!
    [System.Runtime.InteropServices.DllImport("user32.dll")]
    private static extern bool SetProcessDPIAware();
Run Code Online (Sandbox Code Playgroud)


小智 3

与其说是Windows 10,不如说是DPI的改变。检查新安装的 Windows 10 中的 DPI 设置。

检查 Windows 10 DPI

如果超过 100%,那么这就是您的应用程序模糊的原因。

查看 DPI Aware Windows 窗体应用程序。

DPI 感知

基本上,一旦超过 125%,Windows 默认情况下会通过让应用程序将其输出呈现为位图并将该位图绘制到屏幕来接管 UI 的缩放。该位图的重新缩放使文本看起来模糊。