티스토리 뷰
컴퓨터 한대로 모니터 두개를 사용하는 듀얼모니터 사용 환경이 일반화되면서 C# 개발자 입장에서도 다중 모니터 환경에 대한 처리를 해야 하는 경우가 생겼습니다. 증권 트레이딩을 하시는 분들이나 공장의 모니터링 환경에서는 모니터 4대를 연결할 수 있는 그래픽 카드를 장착해서 컴퓨터 한대로 4개의 모니터를 사용하기도 합니다.
Screen[] screens = Screen.AllScreens; if (screens.Length > 1) // Has more screen { Screen scrn = (screens[0].WorkingArea.Contains(this.Location)) ? screens[1] : screens[0]; dualscr.Show(); dualscr.Location = new System.Drawing.Point(scrn.Bounds.Left, 0); dualscr.WindowState = FormWindowState.Maximized; }
위의 코드는 듀얼모니터 환경을 감지해서 현재 출력하는 화면과는 다른 모니터에 별도의 창을 띄우는 예제입니다.
System.Windows.Forms.Screen 클래스의 AllScreens에는 현 시스템의 모든 화면 장치의 목록 정보가 담겨 있으므로 목록의 개수로 단일 모니터인지 듀얼 모니터인지, 쿼드 모니터인지를 판별할 수 있습니다. 각 화면 장치의 정보에는 위의 그림과 같이 해상도, 위치, 장치명등을 포함하고 있으며 별도의 창을 보조 화면에 출력하는 과정은 화면 장치의 위치(Bounds)를 참조해서 조정하는 것으로 이루어 집니다.
현재 화면의 위치(this.Location)가 어떤 모니터에 표시되고 있는지는 화면 장치 정보의 WorkingArea.Contains로 인식할 수 있습니다. 창을 보조 화면에 출력한 다음에 크기를 최대화시키면 해당 모니터의 최대 크기로 조정 됩니다.
'프로그래밍' 카테고리의 다른 글
QT응용의 윈도우 포팅 성공 사례 (0) | 2016.08.25 |
---|---|
비주얼스튜디오용 콘솔 만들기 (0) | 2016.08.18 |
서로 다른 클래스의 메소드를 이름으로 호출하기 (0) | 2016.08.04 |
ASP.NET 웹 페이지 개발 맛보기 (0) | 2016.08.02 |
ASP.NET VB 레이저 문법 정리 (0) | 2016.06.15 |
댓글
최근에 올라온 글
최근에 달린 댓글
- 경로에 드라이브 이름을 포함한 경로인지를 확인해야 할듯합니다. 파일명이 ⋯
- 구글 지도와 맵스닷미(Maps.Me) - https://yaraba.ti⋯
- 남파랑길을 준비하면서 야라바님의 T스토리를 접하게 되었습니다. 야라바님께⋯
- 저희는 인터넷이 없는 환경에서만 사용하니 광고가 많은 줄을 몰랐네요. 아⋯
- 좋은 글 잘 보았습니다. 최근에는 Maps.Me에 광고가 너무 많아지다 ⋯
- 진짜 고맙습니다.......^^
- 런타임 에러 76은 경로를 찾을수 없다는 메시지 이군요. 입력하신 경로를⋯
- Set folder = fso.GetFolder(sFolder) 에서 런⋯
- [승인대기]
- 표준 시간은 제주 올레 홈페이지를 참조하시는 것이 좋을듯 하네요. 이 포⋯