개발/C#

[C# - Winform] 모니터 확장(듀얼/트리플) 코드 및 팁

TutleKing 2022. 6. 2. 23:03

메소드

    class MonitorControl
    {
        public static void showOnMonitor(Form form,int showOnMonitor)
        {
            
            Screen[] sc;

            sc = Screen.AllScreens;
            Console.WriteLine($"sc.Length : {sc.Length}  \t showOnMonitor : {showOnMonitor} ");
            for (int i = 0; i < sc.Length; i++)
            {
                Console.WriteLine($"sc {sc[i]}");
            }
            if (sc.Length == 1)
            {
                form.WindowState = FormWindowState.Maximized;
                return;
            }

            form.FormBorderStyle = FormBorderStyle.None;

            form.Left = sc[showOnMonitor].Bounds.Left;

            form.Top = sc[showOnMonitor].Bounds.Top;

            form.StartPosition = FormStartPosition.Manual;

            form.WindowState = FormWindowState.Maximized;

            form.Show();

        }

    }

실제 활용 

MonitorControl.showOnMonitor(this, 0); //0번째(주 모니터)에서 동작

 

※ 윈도우 디스플레이 설정에서 보이는 식별 번호 기준
(트리플 모니터 + 노트북 조합인 경우 주모니터가 어디인지에 따라 식별번호 무시) - 확인 필요

 

반응형