Симптомы

Приложения Windows Forms, которые реализуют собственные присуждения высоком Разрешении экрана могут возникнуть необычные масштабирования, если эти приложения с помощью следующей настройки файла .config участвуют в изменения высокого DPI 4.5.2 Microsoft платформа.NET Framework:

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

Решение

Приложения, которые применяются на основе масштабированное значение коэффициента встретит дополнительное масштабирование, когда они участвуют в платформа.NET Framework 4.5.2 улучшения высокого DPI. Чтобы устранить эту проблему, обновите логики масштабирования приложения для применения масштабирования на значение по умолчанию ToolStrip.ImageScalingSize . Это изменение позволит избежать появления дополнительных масштабирования.Например приложения, которые имеют следующий код масштабирует ToolStrip кнопки дважды:

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));

  

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.