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

相关推荐
QQ12958455044 小时前
C# 如何能够创建一个MVC的WEB项目
c#·mvc
星河队长7 小时前
VS创建C++动态库和C#访问过程
java·c++·c#
专注VB编程开发20年7 小时前
B.NET编写不阻塞UI线程的同步延时
ui·.net·vb.net·doevents
William_cl7 小时前
【C# MVC 前置】异步编程 async/await:从 “卡界面” 到 “秒响应” 的 Action 优化指南(附微软官方避坑清单)
microsoft·c#·mvc
yong99908 小时前
C#驱动斑马打印机实现包装自动打印
java·数据库·c#
Jose_lz8 小时前
C#开发学习杂笔(更新中)
开发语言·学习·c#
mingupup9 小时前
WPF/C#:使用Microsoft Agent Framework框架创建一个带有审批功能的终端Agent
c#·wpf
慧都小妮子11 小时前
基于.NET UA Client SDK构建跨平台OPC UA客户端应用
.net·opc ua·automation·跨平台应用·unified
fruge11 小时前
Visual Studio 2022安装时共享组件、工具、SDK路径无法更改的问题
ide·visual studio
追逐时光者11 小时前
C#/.NET/.NET Core技术前沿周刊 | 第 58 期(2025年10.13-10.19)
后端·.net