Scala per alcune applicazioni Windows Form con il.NET Framework 4.5.2 insolito

Sintomi

Applicazioni Windows Form che implementano la propria logica per valori DPI alti di ridimensionamento che si verifichi insolita scala se queste applicazioni vengono associate le modifiche introdotte in Microsoft.NET Framework 4.5.2 High DPI utilizzando la seguente impostazione di file. config:

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

</appSettings>


Risoluzione

Applicazioni che si applicano a un fattore di scala sopra il valore in scala rileverà l'eccesso di scala quando ha scelto nei miglioramenti di.NET Framework 4.5.2 valori DPI elevati. Per risolvere questo problema, aggiornare la logica di ridimensionamento dell'applicazione per applicare il ridimensionamento sul valore predefinito ImageScalingSize . Questa modifica consente di evitare l'introduzione di ulteriore adattamento.

Ad esempio, le applicazioni dotate di codice riportato di seguito verranno adattata pulsanti ToolStrip due volte:

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

}


Le proporzioni rispetto alla dimensione di default costante, o dalla dimensione dell'immagine desiderata, è possibile utilizzare il codice riportato di seguito:

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


  

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×