검색결과 리스트
2008/02/09 에 해당되는 글 1건
- 2008.02.09 듀얼 모니터에서 WPF Window 배치하기
듀얼 모니터에서 WPF의 창을 배치하기 위해서는 약간의 꼼수가 필요하다.
기존의 닷넷 프로그래밍에서는
System.Windows.Forms.SystemInformation.MonitorCount를 이용해서
현재 시스템에 장착된 모니터의 갯수를 알 수 있었다.
또 해당되는 모니터의 상세한 정보를 얻고자 할 경우에는
System.Window.Forms.Screen.AllScreens[index].WorkingArea;와 같이 해당되는 모니터의
정보를 알아낼 수 있었다.
하지만 WPF에서는 기본적으로 모니터와 관련된 속성이나 기능을 추가로
제공되지 않는 것 같다.
실제로 몇몇 경우에는 듀얼 모니터를 활용하는 경우가 많고 또 개발시에도
듀얼 모니터를 이용하는 경우가 많기 때문에 WPF Application의 출력 모니터 지정은
꼭 필요한 기능중에 하나이다.
따라서 약간의 꼼수를 이용해서 이와 같은 상황을 해결할 수 있다.
fullScreenWindow.WindowStartupLocation = WindowStartupLocation.Manual;
System.Drawing.Rectangle workingArea = System.Windows.Forms.Screen.AllScreens[1].WorkingArea;
fullScreenWindow.Left = workingArea.Left;
fullScreenWindow.Top = workingArea.Top;
fullScreenWindow.Width = workingArea.Width;
fullScreenWindow.Height = workingArea.Height;
fullScreenWindow.WindowState = WindowState.Maximized;
fullScreenWindow.WindowStyle = WindowStyle.None;
fullScreenWindow.Topmost = true;
fullScreenWindow.Show();
WindowStartupLocation을 메뉴얼로 지정해야 위치를 지정하기 용의하며 위의 소스의 핵심은
System.Drawing.Rectangle workingArea = System.Windows.Forms.Screen.AllScreens[1].WorkingArea; 이다.
AllScreens[1]이라고 했기 때문에 이는 Primary Monitor가 아닌 Second Monitor의 정보를 가져와서 임시라 Ractangle을 하나 생성하고 이 정보를 바탕으로 출력하려고 하는 WPF Window를 셋팅하는 것이다.
원리는 간단한데 이 같은 생각을 해내기 까지가 힘든 과정이다. ^^
-------------------------------------------------------
김영욱 Microsoft MVP 2006~2007
-------------------------------------------------------
Email: iwinkey@hotmail.com
Blog: winkey.tistory.com
Phone: 010-2817-0063
닷넷채널: www.winkey.pe.kr
-------------------------------------------------------
댓글을 달아 주세요