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

相关推荐
light blue bird24 分钟前
主子端台二分法任务汇总组件
前端·数据库·.net·桌面端winform
chao1898441 小时前
完整MES系统实现 (C# 客户端服务器)
服务器·windows·c#
月昤昽2 小时前
autocad二次开发 2.旋转
c#·autocad·autocad二次开发
rockey6272 小时前
基于AScript的python3脚本语言发布啦!
python·c#·.net·script·python3·eval·expression·function·动态脚本
工程师0072 小时前
C# 字符串不可变性 + 字符串驻留池原理
c#·字符串拘留池
TeamDev5 小时前
如何在 DotNetBrowser 中使用本地 AI 模型
前端·后端·.net
唐青枫8 小时前
内存为什么越来越高?C#.NET GC 详解:分代回收、LOH、终结器与性能优化实战
c#·.net
xiaohe079 小时前
C#数据库操作系列---SqlSugar完结篇
网络·数据库·c#
Hhy_11079 小时前
【从零开始学习数据结构 ④】:栈 ——后进先出的艺术
c语言·数据结构·学习·visual studio
日落飞雪9 小时前
重塑 .NET 国际化工作流:时光恒Net多语言生成系统,让出海更简单
.net