728x90
728x170

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

먼저 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대인 경우)

 

728x90
그리드형
Posted by kjun
,