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#]TextBoxで、マウスクリック(1回目)だけ、内容を全選択させる

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

C#でTryParseメソッドを使って文字列が数値かどうかを確認する

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

[C#]NumericUpDownコントロールで、上下キーでの値変更を禁止する

結論から言うと、「InterceptArrowKeys」プロパティをfalseにしてやることで解決。 NumericUpDownコントロールを使うメリット 画面構築をしている際、ユーザーの任意入力項目 …

ORACLEでORA-01861: リテラルが書式文字列と一致しません

ORA-01861: リテラルが書式文字列と一致しません このエラー、ぶっちゃけ、意味が分からないところでもある。 日付の指定時に発生してて、原因が判明するまでに結構回り道をしました。 ネットで検索し …

[C#]comboBoxでマウスホイールによる値の変更を禁止する

comboBoxってあるじゃないですか。 アレのお話。 勝手に値が変わってしまうコントロールがある いや、勝手にじゃなく、操作の結果なんだけども・・・ という、こちらの理論は当然ながらお客さんには通じ …


カテゴリー