Как центрировать окно на экране в C #? - PullRequest
114 голосов
/ 05 января 2011

Мне нужен способ центрировать текущее окно. Так, например, если пользователь нажимает кнопку, я хочу, чтобы окно центрировалось на экране. Я знаю, что вы можете использовать свойство startposition, но я не могу найти способ использовать это, кроме как при первом запуске приложения. Так как мне центрировать форму на экране?

Ответы [ 12 ]

1 голос
/ 05 января 2011

Вы можете использовать Screen.PrimaryScreen.Bounds, чтобы получить размер основного монитора (или проверить объект Screen, чтобы получить все мониторы).Используйте те с MyForms.Bounds, чтобы выяснить, где разместить вашу форму.

0 голосов
/ 07 февраля 2019

В случае нескольких мониторов, и если вы предпочитаете центрировать на правильном мониторе / экране, вы можете попробовать следующие строки:

// Save values for future(for example, to center a form on next launch)
int screen_x = Screen.FromControl(Form).WorkingArea.X;
int screen_y = Screen.FromControl(Form).WorkingArea.Y;

// Move it and center using correct screen/monitor
Form.Left = screen_x;
Form.Top = screen_y;
Form.Left += (Screen.FromControl(Form).WorkingArea.Width - Form.Width) / 2;
Form.Top += (Screen.FromControl(Form).WorkingArea.Height - Form.Height) / 2;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...