96DPI の PC で正しく動作する Windows アプリがありますが、120DPI の PC で使用すると、フォームが変換され、すべてのコンポーネントがスクランブルされます。
どうすればこれを修正できますか?
ありがとう。
96DPI の PC で正しく動作する Windows アプリがありますが、120DPI の PC で使用すると、フォームが変換され、すべてのコンポーネントがスクランブルされます。
どうすればこれを修正できますか?
ありがとう。
フォームで動的レイアウトを使用する必要があるようです。AutoSize、ドッキング/アンカー、パディング、マージン、TableLayoutPanel、FlowLayoutPanelなどを使用してフォームを構造化し、コントロールの実際の配置がコンパイル時ではなく実行時に行われるようにすることができます。そうすれば、DPIが異なっていても、フォームはそのレイアウトを保持します。CharlesPetzoldによる「ProgrammingMicrosoftWindowsForms」は、Windowsフォームに関する優れた本です。その本の第3章には、動的レイアウトの使用方法に関する情報が満載です。
アプリケーションのソースがあることを意味する場合 (開発の質問)、アプリケーションが実行されているディスプレイの DPI 設定を確認し、解像度に応じて必要に応じてインターフェイスを再フォーマットできます。
別の場所からコンパイルされたアプリケーションがあり、そのソース コードがない場合は、解像度を 96 DPI に設定できます。
それが役立つことを願っています。