.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下载

相关推荐
傅里叶的耶1 小时前
C++系列(二):告别低效循环!选择、循环、跳转原理与优化实战全解析
c++·visual studio
Nemo_XP5 小时前
HttpHelper类处理两种HTTP POST请求
c#
ChaITSimpleLove11 小时前
使用 Dockerfile 构建基于 .NET9 的跨平台基础镜像
.net·dockerfile·.net aspire·dotnet-sdk·pwsh·docker image·docker buildx
lijingguang11 小时前
在C#中根据URL下载文件并保存到本地,可以使用以下方法(推荐使用现代异步方式)
开发语言·c#
¥-oriented12 小时前
【C#中路径相关的概念】
开发语言·c#
ArabySide12 小时前
【WCF】通过AOP实现基于JWT的授权与鉴权的实践
c#·jwt·aop·wcf
xiaowu08013 小时前
C# Task异步的常用方法
c#
阿蒙Amon13 小时前
C# Linq to Objects 详解:集合处理的终极方案
c#·solr·linq
钢铁男儿13 小时前
C# 委托(调用带引用参数的委托)
java·mysql·c#
番茄小能手14 小时前
【全网唯一】C# 纯本地离线文字识别Windows版dll插件
开发语言·c#