Macbook M1通过Parallels运行Win11时WinForms应用GUI异常求助
解决Windows Forms在Parallels(M1 Mac)中GUI元素错位的思路
检查Parallels显示缩放配置
打开Parallels虚拟机配置的「显示器」选项,关闭「自动调整虚拟机窗口」,手动设置原生比例分辨率(如1920x1080),同时将「缩放比例」固定为100%,避免Parallels对Windows系统缩放做二次转换。强制应用禁用DPI感知
在项目的app.config中添加以下配置,规避ARM虚拟机下的DPI适配冲突:<application xmlns="urn:schemas-microsoft-com:asm.v3"> <windowsSettings> <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</dpiAware> </windowsSettings> </application>也可直接在项目属性的「应用」选项卡中,将「DPI感知」设置为「无」。
调整Visual Studio高DPI兼容设置
右键Visual Studio快捷方式→「属性」→「兼容性」→「更改高DPI设置」,勾选「替代高DPI缩放行为」,将缩放执行者设为「系统」,而非「系统(增强)」。重置控件布局属性
检查表单控件是否依赖固定尺寸而非相对布局:确保Anchor、Dock属性设置合理,比如将需自适应的控件Anchor设为Top, Left, Right;或改用TableLayoutPanel、FlowLayoutPanel等容器控件管理布局,避免不同DPI环境下元素重叠。更新软件版本
确保Parallels和虚拟机内的Windows系统都安装了最新更新,M1 ARM架构的虚拟机对WinForms的适配可能存在版本兼容问题,更新后大概率能修复相关bug。
内容的提问来源于stack exchange,提问作者Jablo
相关产品推荐
相关产品推荐

