.NET Winform桌面应用程序禁用dpi缩放

本文内容适用:.NET6 ~ .NET9

.NET8 Winform桌面应用程序在笔记本电脑运行,会发现图片不能正常显示,出现缩小等现象,严重影响用户体验。

没有禁用dpi缩放

下图中图标,包括登陆、取消两个按钮的图标显示不正常:

下图的背景图片以及所有按钮图标显示不正常:

禁用dpi缩放效果:正常

解决方案

禁用dpi缩放

Program.cs

复制代码
//禁止dpi缩放
Application.SetHighDpiMode(HighDpiMode.DpiUnaware);
WindowsFormsSettings.LoadApplicationSettings();
WindowsFormsSettings.AllowDpiScale = false;

app.manifest 清单文件

在主程序添加 app.manifest 清单文件

设置 dpiAware = false

HTML全选

复制代码
<application xmlns="urn:schemas-microsoft-com:asm.v3">
  <windowsSettings>
    <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</dpiAware>
    <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
  </windowsSettings>
</application>

专注.NET技术、C/S架构开发框架软件

C/S框架网 - 开发框架文库

appsettings.json

复制代码
{
  "EnableWindowsFormsHighDpiAutoResizing": false,
}

相关文章

CSFrameworkV6.1旗舰版快速开发框架

通用进销存+ERP系统基础框架(C#+.NET7+EF)Demo下载

相关推荐
佟格湾8 小时前
聊透多线程编程-线程互斥与同步-11. C# lock关键字实现线程互斥
c#·多线程
追逐时光者10 小时前
C#/.NET/.NET Core技术前沿周刊 | 第 35 期(2025年4.14-4.20)
后端·.net
猫霸11 小时前
理解.NET Core中的配置Configuration
html·.netcore·xhtml
MoFe111 小时前
【.net core】【watercloud】数据库连接报错问题
数据库·.netcore
csdn_aspnet11 小时前
Windows .NET Core 应用程序部署到 IIS 解决首次访问加载慢的问题
iis·.netcore
Dm_dotnet13 小时前
在Avalonia/C#中使用依赖注入过程记录
c#
界面开发小八哥15 小时前
界面开发框架DevExpress XAF实践:如何在Blazor项目中集成.NET Aspire?(一)
.net·界面控件·devexpress·ui开发·xaf
智者知已应修善业16 小时前
2021-11-14 C++三七二十一数
c语言·c++·经验分享·笔记·算法·visual studio
FAREWELL0007516 小时前
C#进阶学习(八)常见的泛型数据结构类(3)SortedDictionary<TKey, TValue>与SortedList<TKey, TValue>
数据结构·学习·c#·sorteddictioary·sortedlist
许_安17 小时前
leetcode刷题日记——单词规律
算法·leetcode·c#