Screen.AllScreen[0].DeviceName 에 접근해서 다 잘라내고 숫자만 빼내 -1을 해주면 될 것 같긴한데..
일단 현재 모니터 순서
Screen.AllScreens 에서는 아래의 순서로 출력된다.
0 - 가장 오른쪽 (1920,0)
1 - 가장 왼쪽 (-1920,0)
2 - 중앙 (0,0)
private void Form1_Load ( object sender, EventArgs e )
{
var parent = new FlowLayoutPanel() { Dock = DockStyle.Fill };
Controls.Add(parent);
//Order by how they are laid out to the user
var screens = Screen.AllScreens.OrderBy(s => s.WorkingArea.X).ToArray();
foreach (var screen in screens)
{
var panel = new Panel() { Width = screen.Bounds.Width / 10, Height = screen.Bounds.Height / 10 };
panel.BackColor = screen.Primary ? Color.Blue : Color.Silver;
panel.Controls.Add(new Label() { Text = screen.DeviceName });
parent.Controls.Add(panel);
};
}