狀況

實作自己的縮放比例高 DPI 設定的邏輯的 Windows Form 應用程式可能會遇到不尋常的縮放比例,如果這些應用程式使用下列的.config 檔設定,選擇 4.5.2 高 DPI 時,Microsoft.NET Framework 變更成︰

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

</appSettings>


解決方案

套用的縮放比例,縮放值之上的應用程式將會遇到額外時它們.NET Framework 4.5.2 的高 DPI 改良選擇縮放比例。若要解決這個問題,更新應用程式的縮放比例的邏輯,以套用縮放比例, ToolStrip.ImageScalingSize的預設值。這項變更會避免留下的多餘縮放比例。

例如,下列程式碼的應用程式會兩次縮放工具帶按鈕︰

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

}


您可以使用下列程式碼來調整從常數的預設大小,或您所需的影像的大小︰

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


  

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

您對翻譯品質的滿意度為何?

會影響您使用體驗的因素為何?

是否還有其他的意見反應? (選填)

感謝您的意見反應!

×