在Windows 10上运行时,我的Visual Studio 2013应用程序具有模糊字体

时间:2015-08-12 23:12:48

标签: windows winforms visual-studio

升级到Windows 10后,我的Visual Studio 2013表单在运行时显得模糊不清,风格与Visual Studio 2013在设计模式下拍摄的风格不同。

我尝试安装Visual Studio 2015,模糊效果仍然相同。

还有许多其他更改,例如消除3D按钮。

This is the form in edit mode

This is the form in Run time Mode

6 个答案:

答案 0 :(得分:3)

Windows 10不是因为它是DPI的变化。在新的Windows 10安装中检查DPI设置。

Check Windows 10 DPI

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

了解DPI Aware Windows Forms应用程序。

DPI-Aware

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

答案 1 :(得分:3)

显然这个问题始于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>

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

答案 2 :(得分:3)

调用外部函数将其设置为整个应用程序。它没有比这更容易:

 [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();

答案 3 :(得分:2)

Re:Windows 10中的模糊表单。

我有Windows 8.1(OEM)。我的所有表格都清晰明了。我更新到Windows 10,我的表格模糊。我也使用VBScript,我的MsgBox文本也很模糊。

我使用125%的屏幕放大。我读到的一些帮助表明,当尺寸设置为100%时,模糊性消失了。我也发现这是真的,但我想使用125%。

我的笔记本电脑是德语,所以我不知道所有的英语术语。我会尽力解释我的所作所为。

  1. 在开始页面中,我选择了设置(??? - 直接在开/关上方)
  2. 我选择了系统(???)
  3. 我选择了Screen(???)
  4. 而不是使用125%预设,我选择了扩展设置(???)
  5. 我为文本和其他元素选择了扩展大小更改(???)
  6. 我点击了User Defined Scaling(???)并手动设置为125%。
  7. 它奏效了!!!

答案 4 :(得分:0)

This solution为我工作。

  

在Windows设置中应用所需的字体大小后(例如125%DPI,我将其用于125%)&gt;打开记事本,将其粘贴到其中:

REG ADD "HKCU\Control Panel\Desktop" /v DpiScalingVer /t REG_DWORD /d 0x00001018 /f
REG ADD "HKCU\Control Panel\Desktop" /v Win8DpiScaling /t REG_DWORD /d 0x00000001 /f
REG ADD "HKCU\Control Panel\Desktop" /v LogPixels /t REG_DWORD /d 0x00000078 /f
  

然后将其保存为硬盘上某处的&lt; yourname&gt; .cmd→打开本地地面政策编辑器(搜索栏中的gpedit.msc)→在用户配置中(我正在翻译我的语言,因此可能会有很少的翻译差异)→转到Windows设置→脚本(登录/注销)→在右侧窗口中双击登录以打开它(因为我们希望每次登录时都应用此选项)→在“脚本”选项卡中,选择添加→然后在新窗口中选择浏览器→导航到保存cmd文件的位置并选择它→然后只需按确定→应用→确定→然后注销/重新启动电脑→日志在添加此脚本后第一次进入您的帐户以便将其应用→如果它不起作用,请再次注销/重新启动,从现在起它应该每次都有效(对我有用)。

答案 5 :(得分:0)

解决此问题:

  1. 转到表单设计器,然后选择表单(通过单击其标题栏)
  2. F4 打开属性窗口
  3. 选择UICollectioViewCell属性并将其从字体(默认)更改为Dpi。