C#2.0時代のゲームプログラミング(15)

# kcrt 『「そのアプリケーションウィンドゥが存在する画面」ってどう判定するんですか?実際デュアルディスプレイ使っているとウィンドウの(0, 0)位置で判定しているものが多いですね。でも、それだとほとんどの面積が右ディスプレイで表示されててもちょっと左ディスプレイにかかっているだけで左画面で最大化されるので不便です。』


それを解決するのは簡単だ。global::System.Windows.Forms.Screen.FromHandleというメソッドがある。こいつでそのウィンドゥの存在する(面積が一番大きな)Screen(≒画面)を取得することが出来る。


global::System.Windows.Forms.Screen scr =
global::System.Windows.Forms.Screen.FromHandle(form.Handle);
x = scr.Bounds.Left;
y = scr.Bounds.Top;


Screenが決定出来れば、そこから、上記のようにして仮想スクリーンにおけるそのScreenのbounds(範囲)が得られる。(つづく)