27

そのため、フォームの AutoScaleMode プロパティが、作業中の開発マシンとは異なるフォントまたはDPIを備えたシステムをサポートするのにどのように役立つかを理解しようとしています。

SDK から:

AutoScaleMode 列挙体

public enum AutoScaleMode

なし  
   自動スケーリングは無効です。    
フォント   
   の寸法を基準にしてスケールを制御します
   クラスが使用しているフォント。通常は
   システムフォント。
解像度    
   ディスプレイの解像度を基準にしてスケールを制御します。
   一般的な解像度は 96 および 120 DPI です。

デフォルトでは、.NET 2.0 フォームは AutoScaleMode.Font を使用します。

そこで、Windows XP、Tahoma 8 ポイント、96 DPI の開発マシンでサンプル フォームをデザインしました。それから私はそれを試してみました

  • 14 pt Segoe UI 96 DPI マシン
  • 14 pt Segoe UI 150 DPI マシン

このスクリーンショットでわかるように、結果は有望ではありませんでした。

AutoScaleMode プロパティは、さまざまなフォントまたは DPI 設定をサポートするために .NET フォームを有効にするようには設計されていません。では、さまざまなフォントと DPI 設定をサポートする適切な方法何ですか?

4

1 に答える 1

6

正しい方法は、コントロール、フォーム自体、およびその中のテキストを拡大縮小することです。これは非常に複雑に聞こえますが、レイアウトコントロール(TableLayoutPanelおよびFlowLayoutPanel)をAutoSizeプロパティと組み合わせると、これはかなり難しくなりません。

于 2008-10-13T19:31:49.600 に答える