Как найти центр экрана в любом разрешении?Как найти центр экрана в любом разрешении
Я хочу, чтобы моя программа появлялась в середине экрана -10 (по оси y).
(моя программа не в максимальном размере)
Я работаю с C# в WinForm.
Как найти центр экрана в любом разрешении?Как найти центр экрана в любом разрешении
Я хочу, чтобы моя программа появлялась в середине экрана -10 (по оси y).
(моя программа не в максимальном размере)
Я работаю с C# в WinForm.
Вы можете установить свойство StartPosition
вашего основного WinForm на CenterScreen
. Затем, если вы хотите, чтобы он каким-то образом отображался в другом месте относительно этого центра экрана, вы можете играть с объектами Top
и Left
, чтобы добавить или вычесть необходимое количество пикселей.
Это может помочь вам
private void center_Load(object sender, System.EventArgs e)
{
// Position the Form on The screen taking in account
the resolution
//
Rectangle screenRect = Screen.GetBounds(Bounds);
// get the Screen Boundy
ClientSize = new Size((int)(screenRect.Width/2),
(int)(screenRect.Height/2)); // set the size of the form
Location = new
Point(screenRect.Width/2-ClientSize.Width/2,
screenRect.Height/2-ClientSize.Height/2); // Center the Location of
the form.
}
Вы должны быть в состоянии сделать это следующим образом:
var screensize = Screen.PrimaryScreen.Bounds;
var programsize = Bounds;
Location = new Point((screensize.X-programsize.X)/2,
(screensize.Y-programsize.Y)/2 - 10);
это может быть проблематично, если есть два или более экранов с разными разрешениями ... – webber2k6
Я бы с @ предложением DarinDimitrov, однако ... если вам нужно знать экран оценка:
System.Windows.Forms.Screen.PrimaryScreen.Bounds
или, принимая во внимание панели задач:
System.Windows.Forms.Screen.PrimaryScreen.WorkingArea
... или какой-то вариант
Это может быть проблематично, если есть два или больше экранов с разными разрешениями ... – webber2k6
Попробуйте это:
new Point((this.Width + this.Location.X)/2 - popupControlContainer1.Width/2,
(this.Height + this.Location.Y)/2 - popupControlContainer1.Height/2)
Надеется, что это помогает
Что вам нужно [ 'Screen.WorkingArea'] (HTTP: // MSDN. microsoft.com/en-us/library/system.windows.forms.screen.workingarea.aspx) – V4Vendetta