c#:高DPI環境化で、画面レイアウトが崩れる問題

投稿日:2017-08-07

自分の環境は高DPI(125%以上)ではないので、意識していなかったけど、客先環境でハマッたので。

状況は、Multirowを使った表部分が、高DPI環境下(125%)だと、レイアウトが崩れる問題。

結論からいうと、multirowは高DPIへの対応済みなので、意識する必要は無かった。
https://www.grapecity.com/tools/support/technical/knowledge_detail.asp?id=34264


問題だったのは、表のdockプロパティ

親コンテナにドッキングとかのアレです。

これがFillになってなかっただけ・・・

 

他の画面は普通に表示出来るのに、なんで特定の画面だけ、レイアウトが!?!?って1ヶ月ほど悩んでたんだけど、プロパティを修正したら、あっさり解決(笑

最初はスプリットコンテナーが悪さしてると思って、AutoScaleModeプロパティを修正してみたり、レイアウトを調整し直してみたりとアレコレやった時間を返して欲しい。

他の画面では、フォームに合せてドッキングさせてたから、まさかこの画面だけっていうのでした。

でも、自分の環境でDPIを125%に変えてみても、レイアウト崩れが発生しなくて、普通に原因が分かりづらかった。

というのも、解像度が小さいが故?なのか、(1366×768)の解像度で試してもダメだった。

で、外付けディスプレイを用意して、1920×1080の解像度で確認する必要があったのよね。

そりゃ、分からんてw







-C#
-


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

[C#]文字を繰り返したものを取得したい。

いちいちfor文とかで繰り返すのも効率が悪いなと思ってたので、処理を関数化・・・ ただ、共通関数として登録しないので、別のところで使いたい場合は、同じ関数が複数登録されちゃうことに・・・ 更には、思い …

[C#]TextBoxで、マウスクリック(1回目)だけ、内容を全選択させる

TextBoxの内容を全選択させるには、SelectAll()を使用 マウスの1回目も含めるなら、BeginInvoke~を使用 VB.net版はこちら。 日本の中心付近で仕様変更と闘うSE日記[VB …

[C#]ToStringメソッドで簡単に桁区切りを実現する方法

結論 ToStringメソッドと書式設定で解決。 int a = 1; int b = 1; int ab = a * b; string c = ""; //「1」になる c = …

DLLのプロパティのブロック解除をして、ダウンロードしたプログラムを起動出来るようにする。ダウンロードしたプログラムが実行できない時の対処法。

よくありますよね・・・ 予期せぬエラーってなんだよ(`・∀・´) 特にお客さんの目の前で「デンッ!!」っていうエラー音と共に表示された時の微妙な空気感がたまりません (╹◡╹) (^ω^) :(;゙゚ …

続) 何度だって引っかかるORACLEのエラー・・・。ORA-01008:バインドされていない変数があります。

この土日は休日出勤でした・・・ そして、昨日・・・新しい現象が発生しました。 日本の中心付近で仕様変更と闘うSE日記日本の中心付近で仕様変更と闘うSE日記http://ht-jp.net/blog/p …


カテゴリー