電気ウナギ的○○

About Home

Windows 10 で画面拡大してると.NETアプリの画面サイズが・・・

shinoda (2021年3月24日 10:49)
今、触っているのが Visual Studio 2005(以降、VS 2005)の VB.NET なんで、最新の .NET ではどうなのかわからないが・・・

本来、縦 1000px で表示する画面を、縦が 700pxほどしかないディスプレイで表示したところ、ディスプレイ内に表示できるように(?)自動的に画面の縦が 700pxにリサイズされてしまった。
(ちなみに FormBorderStyle プロパティが FixedSingle に設定されているのでユーザが自分でリサイズすることはできない)

現在の環境は、ディスプレイ1がノートパソコンのディスプレイで、本来 1,920 x 1080 の解像度のディスプレイを 150% 表示としているため、縦は 700px となっている(加齢のため、字が小さくてよく見えないもんで(^^;)。もう一台、「複数のディスプレイ」を「表示画面を拡張する」の設定でディスプレイ2が接続されており、こちらは 1,680 x 1,050 の解像度で 100% 表示としている。

本来、.NET アプリの画面サイズが 1,280 x 1,000 なので、ディスプレイ2の方で表示してデバッグなどしていたのだが、ディスプレイ2の電源を入れずに起動してしまい、自動的にディスプレイ1で表示されてしまったのだ。

で、その後、縦 700pxの状態から戻らなくなってしまった。

VS 2005 のデザイン画面で Size プロパティを確認しても、ちゃんと 1,280 x 1,000 になっている。しかし、ディスプレイ2で表示しても 1,280 x x 700 で表示されてしまう。
試しに Size プロパティで縦を 900pxとかに変えてみても表示は変わらない。実際の画面表示サイズは 1,280 x 700 のままなのである。どうも、Size プロパティの値を正しく認識していない???

これは、Visual Studio を立ち上げ直してみても、PC を再起動してみても変わらなかった・・・

20210324_vs2005.jpg

結局、原因は(片方の)ディスプレイを 150% 表示していたためのようである。

ディスプレイ設定画面で「拡大縮小とレイアウト」の「テキスト、アプリ、その他の項目のサイズを変更する」設定を 100% にしたところ、Size プロパティの値が 1,280 x 1,000 から実際の表示サイズである 1,280 x 700 に変わっていたので、これを 1,280 x 1,000 に変更したところ表示は正常に戻った。

もちろん、Visual Studio が 2005 という古いものだというのはあるだろう。その時代には Windows の設定で画面の倍率変更ってできなかったのかも?だから VS 2005 はそのあたりの値が正常に取得できず誤動作してしまうのか???

まあ、それでもあえて言おう。

「Microsoft よ・・・。なんだかな~、なんだかな~」

電気ウナギ的○○

電気ウナギ的○○

About Back

コメント(0)

電気ウナギ的○○

電気ウナギ的○○

About Back

トラックバック(0)

トラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/5885

電気ウナギ的○○

About This Site

電気ウナギ的○○
岩国在住。広島で働く超零細IT企業社長のいわゆる社長日記。
何か、酒と食い物のことばかり書いているようで・・・お察しのとおり、肥満体です:-)


2011/06/24
iPhone用サイト公開

Create with jQuery, jQTouch.


CLOSE