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

相关推荐
专注VB编程开发20年42 分钟前
C#全面超越JAVA,主要还是跨平台用的人少
java·c#·.net·跨平台
小猪快跑爱摄影4 小时前
【AutoCad 2025】【C#】零基础教程(四)——MText 常见属性
c#·autocad
炼钢厂5 小时前
C#6——DateTime
c#
Lv11770086 小时前
Visual Studio中的多态
ide·笔记·c#·visual studio
wuguan_7 小时前
C#:多态函数重载、态符号重载、抽象、虚方法
开发语言·c#
我不是程序猿儿7 小时前
【C#】ScottPlot的Refresh()
开发语言·c#
工程师0077 小时前
C# 基于 HSL 与基恩士 PLC 通信
c#·mc协议·基恩士plc
张人玉11 小时前
c# DataSet 类
数据库·c#·dataset
秦苒&11 小时前
【C语言】详解数据类型和变量(一):数据类型介绍、 signed和unsigned、数据类型的取值范围、变量、强制类型转换
c语言·开发语言·c++·c#
一个帅气昵称啊11 小时前
.Net通过EFCore和仓储模式实现统一数据权限管控并且相关权限配置动态生成
.net·efcore·仓储模式