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#でTryParseメソッドを使って文字列が数値かどうかを確認する

C#に限らず、コーディングしていると数値が欲しいのに、引数がstring型とかいう状況がよくあるわけで。 判定方法はいろいろあるけど、TryParseを使うと簡単だった。 TryParseって何するの …

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

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

[C#]$を使ったstring.formatの別の書き方

str += $"(文字列) = {x}"; 保守で、機能修正を行う必要があって、修正をしていたところ、こんな書き方をしているプログラムがありまして・・・ なんだこりゃ??? とな …

[C#]リストをカンマ区切りの文字列で出力する

リストの項目をカンマ区切りで出力したい 卵が先か鶏が先か~って話じゃないんですが、リストで出力した内容をカンマ区切りのデータにする必要が出てきたので、調べました。 List<string> …

C#で”LC.exe” はコード -1 を伴って終了しました(”LC.exe” exited with code -1)ってエラー

未だに確定した原因は自分で掴めてないんだけど、とりあえずエラーで検索して対策してみた。 どうにも、ビルド時にEXEフォルダ?とかにSRCフォルダからのコピーが上手くいかずにロックされてしまったりすると …


カテゴリー