메소드
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번째(주 모니터)에서 동작
※ 윈도우 디스플레이 설정에서 보이는 식별 번호 기준
(트리플 모니터 + 노트북 조합인 경우 주모니터가 어디인지에 따라 식별번호 무시) - 확인 필요
반응형
'개발 > C#' 카테고리의 다른 글
[C# - MariaDB] Multi line Insert 함수 (0) | 2022.06.25 |
---|---|
[system.reflection.targetinvocationexception] 잘 동작하던 exe 파일 동작 안하는 경우 (0) | 2022.06.02 |