Symptomer
Windows Forms-programmer som implementerer sine egne skalering logikken for høye PPT-innstillinger kan støte på uvanlig skalering hvis disse programmene er styrt av Microsoft .NET Framework 4.5.2 høye PPT-verdier for endringer ved hjelp av følgende innstilling i .config-filen:
<appSettings>
<add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
</appSettings>
Oppløsning
Programmer som bruker en skaleringsfaktor over skalerte verdien får ekstra skalering når de er valgt i .NET Framework 4.5.2 høy PPT-forbedringer. Hvis du vil løse dette problemet, kan du oppdatere programmets skalering logikk for å bruke skalering på standardverdien for ToolStrip.ImageScalingSize . Denne endringen vil unngå lanseringen av ekstra skalering.
Programmer som har følgende kode vil for eksempel skalere ToolStrip knapper to ganger:
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();
}
Du kan bruke følgende kode til å skalere fra konstant standardstørrelse, eller fra din ønsket Bildestørrelse:
this.ImageScalingSize = new Size((int)(16 * xFactor), (int)(16 * yFactor));