はじめに
Visual Studioでは画面の表示倍率(DPIスケーリング)を150%や200%に設定して作業すると、実行時に100%表示でレイアウトが崩れることがありました。
原因
1.DPI依存のサイズ計算
デザイナーが表示倍率を考慮してボタンやグリッドなどのコントロールの座標やサイズを計算するので、100%表示で意図しないレイアウトになることがあるようです。
2.固定レイアウトの設定
コントロールにAnchorやDockの設定が不十分だと拡大縮小に対応できず、デザインが崩れることがあります。
3.フォントサイズの変化
表示倍率によってフォントサイズが変化し、ラベルやボタン内のテキストが意図せずあふれることがあるようです。
対策
開発時は表示倍率を100%以外にしないのが、楽です。以下のような警告が出ていたら軽くみずに100%に戻しましょう。後悔します。