Winformsアプリケーション用の
ハイDPIスケーリング:包括的なガイド
高DPIディスプレイ用のWinFormsアプリケーションの開発には、スケーリング動作を慎重に検討する必要があります。 ぼやけたテキストを回避し、最適なレンダリングを確保するために、開発者はDPI認識を実装する必要があります。 これは、アプリケーションのマニフェストを変更するか、p/invokeを使用して達成されます。
メソッド1:アプリケーションの変更マニフェスト
最も簡単なアプローチには、アプリケーションのマニフェストファイルにDPI認識設定を追加することが含まれます。 これにより、アプリケーションがより高いDPI設定を処理するようにアプリケーションに明示的に指示し、Windowsのデフォルトのビットマップスケーリングを防止します。プロジェクトに新しい「アプリケーションマニフェストファイル」を追加します
<code class="language-xml"><?xml version="1.0" encoding="utf-8"?> <assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> <assemblyIdentity name="MyApplication.app" version="1.0.0.0" /> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> <requestedExecutionLevel level="asInvoker" uiAccess="false" /> </requestedPrivileges> </security> </trustInfo> <application> <windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <dpiAware>true</dpiAware> </windowsSettings> </application> </assembly></code>の使用 直接マニフェストの変更が実用的でないclickOnceの展開については、アプリケーションの
メソッド内でp/invokeを介して関数を使用できます:
これらのメソッドのいずれかを実装することにより、WinFormsアプリケーションはすべてのDPI設定にわたってシャープなテキストとグラフィックをレンダリングし、一貫した視覚的に魅力的なユーザーエクスペリエンスを提供します。
以上がHigh-DPIディスプレイでWinFormsアプリケーションスケールを正しく確保するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。