KeiStory

C#/Winform 각 모니터 별로 각각 다른 창 띄우기

 

프로그램 실행 시 모니터가 여러 대 인 경우 한 번의 실행으로 각각의 모니터로 창을 띄우는 방법입니다.

각 모니터에 띄울 Form 을 2개 준비합니다.

FirstScreenForm

SecondScreenForm 

namespace MultiScreenForm
{
    public partial class FirstScreenForm : Form
    {
        public FirstScreenForm()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Screen[] allScreens = Screen.AllScreens;

            if (allScreens.Length > 1)
            {
                Screen secondScreen = (allScreens[0].WorkingArea.Contains(this.Location)) ? allScreens[1] : allScreens[0];
                SecondScreenForm secondScreenForm = new SecondScreenForm();
                secondScreenForm.Show();
                secondScreenForm.Location = secondScreen.Bounds.Location;
            }
        }
    }
}

코드를 보면 알수 있듯이 모니터가 여러대 인 경우 현재 FirstScreenForm 이 프로그램이 실행된 모니터에 띄워지고

다른 모니터를 찾아 SecondScreenForm 창이 띄워지도록 되어있어

각각의 모니터에 창이 표시됩니다.

 

결과 (모니터가 3대인 경우)

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band