根據 AutoScaleMode 調整表單大小
在 PerMonitorV2 模式應用程式中,Windows Forms 已使用線性大小 (也稱為 Windows 針對最上層視窗提供的 DPI 縮放大小),不論 AutoScaleMode 為何。 使用 AutoScaleMode.Font 縮放模式時,此實作有問題,其中 Form 縮放應該是非線性。 子控制項會以非線性方式縮放,並取決於指派給 Form 或子控制項的字型。
這項變更會啟用處理最上層 Form 物件的 WM_GETDPISCALEDSIZE
訊息。 它會利用 WM_GETDPISCALEDSIZE 讓 Windows 知道 Form 可能需要視 AutoScaleMode 而定的非線性大小。
導入的版本
.NET 8 Preview 1
先前的行為
先前在 PerMonitorV2-mode 應用程式中,最上層視窗是由 Windows 調整,並忽略 WinForms 應用程式中指定的 AutoScaleMode。 此實作會導致 Form 物件與其子控制項之間的調整不一致。
新的行為
在 PerMonitorV2-mode 應用程式中,最上層視窗 (例如 Forms) 會根據 AutoScaleMode 進行調整。 此實作可確保最上層視窗會一致調整其子控制項。
變更類別
此變更為行為變更。
變更原因
已進行這項變更,以改善 PerMonitorV2 模式中 Windows Forms 應用程式的高 DPI 體驗。
建議的動作
您不需要執行任何動作。
受影響的 API
N/A