Bunifu controls不同分辨率下无法正常自动缩放问题咨询
Bunifu Controls 多分辨率缩放适配问题修复方案
Bunifu Controls 原生支持DPI与多分辨率缩放,出现控件错位、变形、显示异常属于配置问题或旧版本已知缺陷,可按以下步骤修复:
- 开启项目级高DPI适配
升级项目目标框架至.NET Framework 4.7及以上版本,打开项目根目录下的app.config文件,在<configuration>节点内添加如下配置,开启逐显示器DPI感知:
<System.Windows.Forms.ApplicationConfigurationSection> <add key="DpiAwareness" value="PerMonitorV2" /> <add key="EnableWindowsFormsHighDpiAutoResizing" value="true" /> </System.Windows.Forms.ApplicationConfigurationSection>
- 统一窗体与容器的缩放属性
所有承载Bunifu控件的窗体、布局容器(Panel、TabPage、GroupBox等)按如下要求设置属性:- 将
AutoScaleMode属性值设为Dpi,禁止使用None或Font模式,避免缩放逻辑冲突 - 将
AutoSize属性值设为false,防止容器自动计算尺寸时覆盖控件自身的缩放适配逻辑 - 移除窗体初始化、Load事件中手动给Bunifu控件写固定像素值的位置、尺寸赋值代码,固定像素值不会随系统缩放比例自动换算,会直接导致错位。
- 将
- 升级Bunifu UI至最新稳定版
v1.5.3及更早版本的Bunifu Controls存在已知的DPI适配bug,会出现按钮圆角变形、文字溢出控件边界的问题,和截图表现完全一致,直接通过NuGet包管理器将Bunifu.UI升级到最新稳定版即可修复这类原生缺陷。 - 多屏异缩放场景注意事项
多台显示器设置不同缩放比例的使用场景下,不要在程序运行时动态修改AutoScaleMode属性;Bunifu控件尽量使用系统默认字体,避免第三方自定义字体在缩放时出现渲染偏移。

内容的提问来源于stack exchange,提问作者Prathamesh Katkar
相关产品推荐
相关产品推荐

