質問: ### 前提・実現したいこと C#(VisualStudio2019)でアクションゲームを作っています。 フォームのサイズに合わせて自動でコントロールのサイズ、位置を変更する(拡大する)機能を実装中に以下の問題が起きました。 ### 発生している問題・エラーメッセージ ソースコードは何もまだ書いていなく、 フォーム上にTableLayoutPanelとボタンなどを複数(すべてDockはFill)を設置してあります。 ですが、フォームを最大化すると右下に位置がずれます。 対策をしようと思って、右上側によせたんですが、やはり右下にずれます。 PCは、高DPIのディスプレイですが、アプリのアプリケーションマニフェストに高DPI対応コードを書いてあります。 ### 該当の状況 ![gif画像です。](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/1128f45e67881da4fe3d0d8591cff011.gif) **(録画ソフト移っててごめんなさい。)** 明らかに位置がずれていますよね? ボタンなど、灰色のピクチャーボックスなどが右下にずれています。 普通だと少し左上よりですが、最大化で右下寄りに、 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/d6df382d8a8da0b9c9c1a2ef7508286a.png) ### 試したこと 高DPI対応コードを消して試してみてり、 Visualstudioを100%スケールで起動してみたりと試しましたが、無理でしたので質問しました。 ### 補足情報(FW/ツールのバージョンなど) OS: Windows10 Pro 機種:lenovo ThinkPad W530 ディスプレイサイズ: 1920x1080 倍率(PC設定)125% IDE:VisualStudio2019 言語: Visual C#
回答: TableLayoutPanel1のColumn3を見てもらえれば判ると思いますが、パーセントではなく絶対サイズになっているため、ウィンドウサイズに関係なく固定幅で出ます。ほかが大きくなってもそこは固定なので、結果的に右に寄ったように見えます。 すべてパーセントでやればおそらく期待通りになると思います。