.NET Framework 4.5.2 を使用する Windows フォーム アプリケーションのスケーリング異常

現象

独自の高 DPI 設定のロジックを拡張を実装する Windows フォーム アプリケーションは、スケーリングの場合、これらのアプリケーションが次の .config ファイルの設定を使用して Microsoft.NET Framework 4.5.2 高 DPI の変更を選択しましたが異常が発生します。

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

</appSettings>


解決策

スケール設定された値の上にスケール係数を適用するアプリケーションは、他の.NET Framework 4.5.2 高 DPI 機能強化にそれらが有効の場合、スケーリングが発生します。この問題を解決するには、 ToolStrip.ImageScalingSizeの既定値にスケーリングを適用するのには、アプリケーションのスケーリング ロジックを更新します。この変更が余分なを避けるための拡大/縮小します。

などを次のコードを持つアプリケーションは拡大・縮小コマンド バー ボタン 2 回。

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 Insider に参加する

この情報は役に立ちましたか?

フィードバックをお送りいただきありがとうございます!

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×