C# winform 窗体缩放失真
本身窗体在设计器显示没有问题,但运行时窗口却被缩放失真, 呈现锯齿。
解决方法:
修改项目的配置文件,使项目运行时自动检测屏幕分辨率,在高分辨率屏幕禁用系统缩放,在项目应用程序清单文件里有对禁用高分屏自动缩放的支持
1)右击项目-->添加新建项--->运用程序清单文
2) 打开添加的app.manifest
,找到如下注释的部分,取消注释
<!-- 指示该应用程序可感知 DPI 且 Windows 在 DPI 较高时将不会对其进行
自动缩放。Windows Presentation Foundation (WPF)应用程序自动感知 DPI,无需
选择加入。选择加入此设置的 Windows 窗体应用程序(面向 .NET Framework 4.6)还应
在其 app.config 中将 "EnableWindowsFormsHighDpiAutoResizing" 设置设置为 "true"。
将应用程序设为感知长路径。请参阅 https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation -->
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
</windowsSettings>
</application>
也就是之前,是注释状态,现在放开即可。
重启应用,窗体显示正常。