http://www.ailight.jp/Content/Read/CSharp_Screen
マルチモニター。マルチディスプレイ。デュアルモニタ、デュアルディスプレイ。
……で、任意の側のディスプレイで最大化する方法など。
ちなみに、PointやRectangleを使うときはスクリーン座標に変換するのを忘れないように。
// 例:現在のウインドウ位置のディスプレイ(Screen)を得る Screen useScreen = Screen.FromRectangle(this.RectangleToScreen(this.ClientRectangle));
あと、上のURLのサイトでは this.MaximizedBounds を設定しているが、MaximizedBounds は起動したときに表示されたディスプレイがどちらだったかによって挙動が変わるようなので、 this.Location を使ったほうがよさそうだ。
try { this.WindowState = FormWindowState.Normal; // this.MaximizedBounds = Screen.AllScreens[0].Bounds; //この数字を変える this.Location = Screen.AllScreens[0].Bounds.Location; //この数字を変える } finally { this.WindowState = FormWindowState.Maximized; }