Požymiai
"Windows" formų programas, įdiegti savo pritaikymas logika didelis DPI parametrai gali kilti neįprastas mastelio keitimo, jei šių programų įtrauktų į "Microsoft".NET Framework 4.5.2 didelis DPI pakeitimus, naudodami šį parametrą .config failą:
<appSettings>
<add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
</appSettings>
Sprendimas
Programų, kurios taikomos padidinimo daugiklis ant mastelio reikšmę iškils papildomų mastelio keitimo, kai jie yra pasirinktas .NET Framework 4.5.2 didelis DPI patobulinimų. Norėdami išspręsti šią problemą, atnaujinkite programos padidinimo logikos taikyti pritaikymas ToolStrip.ImageScalingSize numatytoji reikšmė. Šis pakeitimas bus išvengti papildomų mastelio keitimo.
Pvz., programos, kurios šį kodą bus du kartus mastelio Skaičiuoklinę mygtukai:
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();
}
Galite naudoti šį kodą į iš nuolat numatytąjį dydį, arba iš jūsų pageidaujamos Nuotraukos dydis:
this.ImageScalingSize = new Size((int)(16 * xFactor), (int)(16 * yFactor));