フォームが AutoScaleMode に従ってスケーリングされる
PerMonitorV2 モードのアプリについて、Windows フォームでは AutoScaleMode に関係なく、Windows によって提供される線形サイズ (DPI スケール サイズとも呼ばれます) が最上位ウィンドウに使用されてきました。 この実装は、AutoScaleMode.Font スケーリング モードを使用する場合に問題となりました。そこでは Form スケーリングが非線形である必要があります。 子コントロールは非線形的にスケーリングされ、Form または子コントロールに割り当てられたフォントに依存します。
この変更により、最上位レベルの Form オブジェクトに対する WM_GETDPISCALEDSIZE
メッセージ処理が有効になります。 WM_GETDPISCALEDSIZE を使用して、AutoScaleMode によっては Form に非線形サイズが必要な場合があることを Windows に知らせます。
導入されたバージョン
.NET 8 Preview 1
以前の動作
以前は、PerMonitorV2 モードのアプリでは、最上位ウィンドウは Windows によってスケーリングされ、WinForms アプリケーションで指定されているように AutoScaleMode が無視されました。 この実装により、Form オブジェクトとその子コントロールの間で一貫性のないスケーリングが生じました。
新しい動作
PerMonitorV2 モードのアプリでは、最上位ウィンドウ (Forms など) は AutoScaleMode に従ってスケーリングされます。 この実装により、最上位ウィンドウが子コントロールと一貫してスケーリングされるようになります。
カテゴリの変更
この変更は、動作変更です。
変更理由
この変更は、PerMonitorV2 モードの Windows フォーム アプリの高 DPI エクスペリエンスを改善するために行われました。
推奨アクション
必要な操作はありません。
影響を受ける API
N/A
関連項目
.NET