ホームページ >バックエンド開発 >C++ >システム フォントと DPI の変更による自動スケーリング用に WinForms アプリケーションを最適化するにはどうすればよいですか?

システム フォントと DPI の変更による自動スケーリング用に WinForms アプリケーションを最適化するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-19 08:22:13353ブラウズ

How Can WinForms Applications Be Optimized for Auto-Scaling with System Font and DPI Changes?

システム フォントと DPI の変更に合わせて最適化された WinForms アプリケーションの自動スケール方法

よくある誤解にもかかわらず、WinForms は、潜在的なフォントと DPI の不一致の問題を軽減できる強力な自動スケーリング機能を .NET 2.0 で提供します。ただし、プログラマは、最適な自動スケーリング結果を保証するために、いくつかの特定のガイドラインに従う必要があります。

自動スケーリングをサポートしないコントロール:

一部のコントロールには自動スケーリングに関する制限があります:

  • Label コントロール、AutoSize = False がフォントを継承する場合、コントロールのフォントを明示的に設定する必要があります。
  • ListView コントロールの列幅。列幅を調整するには、フォームの ScaleControl メソッドをオーバーライドする必要があります。
  • SplitContainer コントロールの Panel1MinSizePanel2MinSize、および SplitterDistance プロパティ。
  • TextBox コントロール、MultiLine = True がフォントを継承する場合、フォントを明示的に設定する必要があります。
  • ToolStripButton コントロールのイメージ。 AutoSize 属性と ImageScalingSize 属性は DPI に基づいて調整する必要があります。
  • PictureBox は、SizeMode 属性が Zoom または StretchImage でない場合を制御します。
  • TreeView コントロールのイメージ。 ImageList.ImageSize 属性は DPI に基づいて調整する必要があります。
  • フォーム コントロールのサイズ。固定サイズのフォームは、フォームの作成後に手動でスケーリングする必要があります。

デザインガイドライン:

最適な自動スケーリング結果を得るには、次のガイドラインに従ってください:

  • アプリケーション全体で一貫して AutoScaleMode 属性と AutoScaleDimensions 属性を設定します。
  • 作業するベースライン DPI (96dpi など) を選択します。
  • コンテナレベルでのフォントの設定は避けてください。
  • 同じコンテナ上のコントロールに対して、アンカーリングまたはドッキングを一貫して使用します。
  • コントロールを動的に追加する前にレイアウトを一時停止します。
  • 基本クラスの AutoScaleMode プロパティの継承は避けてください。
  • 画面の制限内で確実にスケーリングできるように、MaxSize 属性と ClientSize 属性を動的に使用することを検討してください。
  • 同じコンテナ上でアンカーリングとドッキングを混在させないでください。

以上がシステム フォントと DPI の変更による自動スケーリング用に WinForms アプリケーションを最適化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。