Visual StudioでWindows Formのデザイナのスケーリングが異なるサイズで表示される現象についての記事です。
多くの場合、Windows Formのデザイナで本来のサイズよりも大きく表示されます。
Windows Formのデザイナでコントロールが通常よりも大きいサイズで表示されます。~
プロジェクトを実行して表示されるアプリケーションの表示は、正しいサイズで表示されています。
マルチディスプレイ環境で、DPIの異なる高解像度ディスプレイを接続していると、それぞれのディスプレイで違ったDPIが選択されるため、上記の現象が発生します。
すべてのディスプレイで固定のDPIを使用する設定に変更します。
regeditコマンドを実行して、レジストリエディタを起動します。
レジストリエディタが起動します。以下のキー(ノード)を開きます。
HKEY_CURRENT_USER\Contorl Panel\Desktop
キー内の"Win8DispScaling"の値を確認します。デフォルトでは"0"になっています。
"Win8DispScaling"の値をダブルクリック、または右クリックのポップアップメニューの[修正]メニューを選択します。値の編集ダイアログが表示されるので、値を"1"に変更します。
変更できました。
HKEY_CURRENT_USER\Contorl Panel\Desktop
キー内に"LogPixels"という名称の値を追加します。"HKEY_CURRENT_USER\Contorl Panel\Desktop"キーを選択し、右クリックしポップアップメニューの[新規]の[DWORD(32ビット)値]メニューをクリックします。
値が作成されますので、名称を"LogPixels"とします。
"LogPixels"の値をダブルクリック、または右クリックのポップアップメニューの[修正]メニューを選択します。値の編集ダイアログが表示されるので、値を"96"に変更します。
他の値を設定する場合は下記を参照してください。
DPI スケーリングレベル(DPI Scaling Level) | レジストリの値(Registry Data Value) |
---|---|
小 : Smaller 100% (default) | 96 |
中 : Medium 125% | 120 |
大 : Larger 150% | 144 |
特大 : Extra Large 200% | 192 |
Custom 250% | 240 |
Custom 300% | 288 |
Custom 400% | 384 |
Custom 500% | 480 |
PC(Windows)を再起動します。再起動後、Visual Studioを起動し、プロジェクトを開きます。Windows Formのデザイナが正しいサイズ(スケーリング)で表示されるようになりました。
http://www.tenforums.com/tutorials/5990-dpi-scaling-level-displays-change-windows-10-a.html
上記の設定でもうまく動作しない場合、DesktopDPIOverride の値を作成し値を"0"に設定すると動作する場合があります。
レジストリエディタが起動します。以下のキー(ノード)を開きます。
キーのノードを選択して右クリックし、ポップアップメニューの[新規]から[DWORD (32ビット)値]を選択します。
値が追加されますので、"DesktopDPIOverride" という名称に設定します。値を"0"にします。