フルスクリーン

WPFで遊ぶつづき。
.NET Framework 3.0ならウィンドウをフルスクリーンにする便利なメソッドがあるのかなと思ったけどそんなものは無かった。

WindowStyle = WindowStyle.None;
ResizeMode = ResizeMode.NoResize;
WindowState = WindowState.Maximized;

なぜかこれでできた。お手軽。
Topmostを設定したくなるかもしれないけど、しないほうが便利。


WindowStyleがNoneでMaximizedにするとタスクバーを除いた領域にならずに、画面全体になるみたい。
もしかして元々そういうものだったんだろうか。Win32 APIでウィンドウ作ってフルスクリーンやってたときは、ウィンドウのフレームをなくしてウィンドウサイズを画面サイズに合わせてたんだけど...。

追記 5/23

気になったので試してみたらできた。こんなに簡単にフルスクリーンにできたなんて...。

LRESULT OnLButtonDown(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	SetWindowLong(GWL_STYLE, WS_POPUP | WS_VISIBLE);
	ShowWindow(SW_MAXIMIZE);
	return 0;
}

この方法ならウィンドウをどのディスプレイに出すかとか考えなくても良いのも楽。VNCのクライアントで、セカンダリディスプレイでフルスクリーンにできないやつあるから。あれはたぶんこういうことなんかなー。