不正常的某些 Windows 窗体应用程序中使用.NET Framework 4.5.2 缩放比例

随时随地通过任何设备使用 Microsoft 365 工作

升级到 Microsoft 365 以在任何位置使用最新的功能和更新。

立即升级

症状

实现自己的缩放逻辑高 DPI 设置的 Windows 窗体应用程序可能会遇到异常时这些应用程序通过使用下面的.config 文件设置选择到 Microsoft.NET Framework 4.5.2 高 DPI 更改进行缩放︰

<appSettings>
<add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />

</appSettings>


解决方案

应用比例因子缩放值之上的应用程序可能会遇到额外缩放时他们会选择到.NET Framework 4.5.2 高 DPI 改进。若要解决此问题,请更新应用程序的应用在ToolStrip.ImageScalingSize默认值缩放缩放逻辑。此更改将避免引入额外的缩放比例。

例如,应用程序有以下代码将两次缩放工具条按钮︰

public MyToolStrip()
{

IntPtr hDC = GetDC(new HandleRef(null, IntPtr.Zero));

double xFactor = GetDeviceCaps(new HandleRef(null, hDC), LOGPIXELSX) / 96.0;

double yFactor = GetDeviceCaps(new HandleRef(null, hDC), LOGPIXELSY) / 96.0;

this.ImageScalingSize = new Size((int)(this.ImageScalingSize.Width * xFactor), (int)(this.ImageScalingSize.Height * yFactor));

InitializeComponent();

}


下面的代码可用于扩展从常量默认大小,或您所需的图像的大小︰

this.ImageScalingSize = new Size((int)(16 * xFactor), (int)(16 * yFactor));


  

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×