Sintomas

Aplicativos do Windows Forms que implementam sua própria lógica para configurações de DPI alto de dimensionamento poderão encontrar incomuns de dimensionamento se esses aplicativos serão consentidos para as alterações de DPI alta do Microsoft.NET Framework 4.5.2 usando a seguinte configuração de arquivo. config:

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

Resolução

Aplicativos que se aplicam a um fator de escala sobre o valor de escala encontrará extra de dimensionamento quando eles são consentidos para os aprimoramentos do.NET Framework 4.5.2 DPI alta. Para resolver esse problema, atualize a lógica de dimensionamento do aplicativo para aplicar o valor padrão de ToolStrip.ImageScalingSize de dimensionamento. Esta alteração irá evitar a introdução de extra de dimensionamento.Por exemplo, aplicativos com o código a seguir serão dimensionado ToolStrip botões de duas vezes:

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

Você pode usar o código a seguir para dimensionar a partir do tamanho padrão constante ou o tamanho da imagem desejada:

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

  

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.