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

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

関連記事

VisualStudioでデータテーブルの中身確認できるの便利すぎワロタw

DataSetビジュアライザーで、DataTableの中身が確認できるのが便利すぎたのでメモ。 データテーブルって気軽に使えるけど、中身の確認がしち面倒くさい件 本当のところはどうなのか?ってのは知ら …

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

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

[Oracle]破棄されたオブジェクトにアクセスできません。 オブジェクト名 ‘oracleconnection’ です。

破棄されたオブジェクトにアクセスできません。 オブジェクト名 ‘oracleconnection’ です。 破棄されたオブジェクトかどうかの判断(MSDK) MSDNでも破棄さ …

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

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

[C#]systemcolorを使う

ボタンとかを作成した時に、BackColorとかにデフォルトで設定される色を変更したいけど、何かのアクション以外は、デフォルト職を使いたい。 って時に多分使える。 SystemColorsクラス(Mi …


カテゴリー