0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

マルチディスプレイのSystem.Windows.Forms.Screen.AllScreens。DPI絡み(未解決)

Last updated at Posted at 2024-10-27

マルチディスプレイで開発していてSystem.Windows.Forms.Screen.AllScreensを使ったときの話。
ディスプレイごとのDPIを元にScreen情報が取得できると当たり前のように思っていたけどどうもそうではないらしい。

すべてのモニタのScreen情報はメインモニタのDPIを使って計算されている模様。

目先の解決

app.manifestに下記追加で解決。ちゃんとそれぞれのモニタのDPIで計算されて値が設定されていた。

app.manifest
<application xmlns="urn:schemas-microsoft-com:asm.v3">
  <windowsSettings>
    <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">True/PM</dpiAware>
  </windowsSettings>
</application>
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?