본문 바로가기
프로그래밍/C Sharp

[ C# ] 듀얼 모니터에서 다른 모니터에 화면 띄우기

by jeong-f 2021. 11. 16.
반응형

최근에는 여러 대의 모니터를 한대의 컴퓨터에 연결해서 양쪽에 다른 프로그램을 띄워야 할 경우가 있습니다.

모니터의 거리가 멀 경우 프로그램을 확인하기 위해 움직일 수 없는 상황이 발생하면 멀리 있는 프로그램을 현재 화면으로 불러오도록 하기 위한 프로그램을 구현해 보았습니다.

이동하지 않고 다른 모니터의 프로그램을 수정할 수 있어 작업의 피로도를 줄일 수 있습니다.

화면 구성

빈 폼에 라벨만 한 개 추가하였습니다.

소스코드

Screen 클래스를 이용하여 모니터의 수량을 확인하고, 현재 프로그램의 위치가 어느 모니터 인지 확인한 후 다른 모니터로 이동시키는 코드를 작성하였습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
protected override void OnLoad(EventArgs e) // 폼이띄워질때
{
    Screen[] scr = Screen.AllScreens;
 
    if (scr.Length > 1)
    {
        this.Location = scr[1].Bounds.Location; // 두번째 스크린에 뛰움
    }
 
    base.OnLoad(e);
}
private void lblScreen_Click(object sender, EventArgs e) // 라벨을 누를 경우
{
    Screen[] scr = Screen.AllScreens;
 
    if (scr.Length > 1)
    {
        Screen screen = (scr[0].WorkingArea.Contains(this.Location)) ? scr[1] : scr[0]; // 현재모니터 찾기
        this.Location = screen.Bounds.Location; // 모니터위치 변경
 
        this.FormBorderStyle = FormBorderStyle.FixedDialog;
        this.WindowState = FormWindowState.Normal;
    }
}
cs

실행결과

반응형

댓글