C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■103257 / )  Re[1]: 多種のディプレイに対応できるアプリ
□投稿者/ くま (31回)-(2024/07/12(Fri) 02:11:46)
自分の場合で恐縮ですが、最近
・Windows Forms
・.NET Framework 4.8.1
で対応しました。

Windows フォームでの自動スケーリング
https://learn.microsoft.com/ja-jp/dotnet/desktop/winforms/automatic-scaling-in-windows-forms?view=netframeworkdesktop-4.8
・ScaleChildren プロパティ
・GetScaledBounds メソッド
・ScaleControl メソッド
のオーバーライドでの方法があったのですが、メンドクサくなって

a. 基本TableLayoutPanelの調整で済ます。
b. それでも対応できない範囲は
1. Loadのタイミングでコントロールを登録するクラスを作成。
2. クラス内には、DPIが96(100%)ではない場合
・対象コントロール
・位置サイズを変更するか?
・フォントサイズを変更するか?
を定義しておいてしのぎました。

ただ複数モニタでDPIが違う場合とかをテストはできませんでした
(Window.DpiChangedイベントとかうまく試せなかった...)

フォント関係は
https://qiita.com/felis_silv/items/efee4b1a397b0b95100a
ピクセル単位で指定できたのはよかった。
返信 編集キー/


管理者用

- Child Tree -