Windows Form アプリの表示サイズを固定する
VisualStudioで作成したアプリが実行環境によりサイズが変わってしまったりレイアウトが崩れうことがあります。
フォームにAutoScaleModeという列挙型のプロパティがあり、これがデフォルトでは1:Fontになっているため、システムフォントのサイズが変わると、画面のコントロールがリサイズされ、レイアウトが崩れる原因となります。
デザイナでの対処方法
Visual Studioを開いた時の自動スケールはOFFします。
フォームの配置に関するプロパティのAutoScaleModeの値を0:Noneにします。
コードでの対処方法
InitializeComponent()内に
Me.AutoScaleMode = AutoScaleMode.None
を追加します。
#AutoScaleModeとは
AutoScaleModeは、名前空間System.Windows.Formsに定義されています。
アセンブリ:System.Windows.Forms.dll
Windowsフォームでサポートされている、さまざまな種類の自動スケーリング モードを指定します。
このプロパティは次の4つの値を持っています。
None 0 :自動スケーリングが無効になっています。
Font 1 :クラスが使用するフォント (通常はシステム フォント) のサイズに応じてスケールを制御します。
Dpi 2 :ディスプレイの解像度に応じてスケールを制御します。 一般的な解像度は 96 dpi と 120 dpi です。
Inherit 3 :クラスの親のスケーリング モードに従ってスケールを制御します。親が存在しない場合、自動スケーリングは無効になっています。