You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS运行与Windows安装后VB.NET应用字体模糊问题求助

VB.NET窗体应用部署后高DPI下字体模糊的解决办法

以下是针对部署后高DPI缩放(超过100%)导致字体模糊问题的可行解决步骤:

  • 确认app.manifest配置正确并嵌入程序集

    1. 检查项目的app.manifest文件,确保包含正确的DPI感知配置:
      <application xmlns="urn:schemas-microsoft-com:asm.v3">
        <windowsSettings>
          <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/PM</dpiAware>
          <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor</dpiAwareness>
        </windowsSettings>
      </application>
      
    2. 在项目属性的“应用”选项卡中,确保“Manifest”选择的是修改后的app.manifest,而非默认的嵌入清单。
    3. 验证程序集是否已嵌入该manifest:右键生成的exe文件,选择“属性”->“详细信息”,查看“嵌入的清单”是否包含上述DPI配置。
  • 通过安装项目添加注册表DPI感知配置
    若manifest嵌入后仍无效,可通过安装时添加注册表项强制启用DPI感知:

    1. 在Visual Studio安装项目中,打开“视图”->“注册表”。
    2. 定位到对应路径:
      • 64位系统的64位程序:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\AppCompatFlags\Layers
      • 64位系统的32位程序:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\SideBySide\AppCompatFlags\Layers
    3. 新建字符串值,名称设为[TARGETDIR]YourApp.exe(替换YourApp.exe为你的程序文件名),数据值设为PER-MONITOR-DPI-AWARE。
  • 启用.NET Framework高DPI支持
    若项目基于.NET Framework 4.7及以上,在app.config中添加以下配置,增强Windows Forms的高DPI适配:

    <configuration>
      <appSettings>
        <add key="WindowsFormsApplication.UseWindowsFormsHighDpiAutoResizing" value="true" />
      </appSettings>
      <runtime>
        <AppContextSwitchOverrides value="Switch.System.Windows.Forms.EnablePerMonitorV2HighDpiImprovements=true" />
      </runtime>
    </configuration>
    
  • 手动调整兼容性设置(临时解决)
    右键安装后的程序exe,选择“属性”->“兼容性”->“更改高DPI设置”,勾选“替代高DPI缩放行为”,缩放执行者选择“应用程序”,保存设置后重启程序。

内容的提问来源于stack exchange,提问作者xpda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 07:52:38