質問: ### フォームを最大化した時に取得できるサイズがタブレット端末の実際の画面サイズの半分で取得されてしまいます 画面サイズが 2048x1536 のタブレット端末で、フォームを最大化した時に取得できるサイズが 1024x768 になってしまいます。 フォームにボタンなどを置いてみると、ボタンに書いた文字列がぼやけて見えるというか、つぶれて見えている状態です。 予想ですみませんが、1024x768 のフォームを 2048x1536 に引き伸ばして表示しているようにも見えました。 this.Width などで 2048 を指定しても、状況は変わりませんでした。 このような場合、フォームのプロパティや、プログラムで本来の 2048x1536 になるようにできるものなのでしょうか? ご存知の方がいらっしゃいましたら、教えてください。 開発環境は、 VisualStudio 2017 Community Edition 使用言語は C# です 使用テンプレートは、Visual C# Windows クラシックデスクトップ の Windows フォームアプリケーション です よろしくお願いします。
回答: こんにちは。 2048x1536でタブレット端末というと、恐らくHigh-DPI環境ですかね? WindowsフォームはHigh-DPIに対応していないので、仮に端末のHigh-DPI設定が200%になっていた場合、アプリから見ると端末は1024x768の画面サイズを持っているように見え、実際に描画されるときに常に2倍に拡大されることになります。 自分のアプリがHigh-DPIに対応していると主張することでOSによる自動拡大を無効にできるようです。以下の記事が参考になると思います。