Príznaky
Windows Forms aplikácií implementovať vlastné mierky logika vysoké nastavenie DPI sa môžu vyskytnúť nezvyčajné škálovanie, ak tieto aplikácie sú aktivované Microsoft .NET Framework 4.5.2 vysokým rozlíšením zmeny pomocou nasledujúce nastavenia súboru .config:
<appSettings>
<add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
</appSettings>
Riešenie
Aplikácie, ktoré sa vzťahujú mierka na hodnotu zmenšený stretnete navyše mierky pri aktivované vysoká DPI vylepšenia rozhrania .NET Framework 4.5.2. Na vyriešenie tohto problému, aktualizácia aplikácie mierky logické použiť škálovanie ToolStrip.ImageScalingSize predvolené hodnoty. Táto zmena sa zabrániť mimo mierky.
Napríklad nasledujúci kód aplikácie rozsahu nástrojov tlačidlá dvakrát:
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();
}
Rozsahu neustále Predvolená veľkosť alebo veľkosť požadovaného obrázka môžete použiť nasledujúci kód:
this.ImageScalingSize = new Size((int)(16 * xFactor), (int)(16 * yFactor));