Ваш menuLabel
расположен на некотором Form
или какой-либо другой элемент управления контейнера, поэтому его координаты относительно этого родительского контроля или Form
.
Чтобы преобразовать координаты экрана в локальные, используйте метод Control.PointToClient
.
Пример для Form
в качестве контейнера (при условии, этот код находится в Form
«s класс):
menuLabel.Left = PointToClient(Screen.PrimaryScreen.Bounds.Left +
(Screen.PrimaryScreen.Bounds.Width - menuLabel.Width)/2);
Пример для someControl
в качестве контейнера:
menuLabel.Left = someControl.PointToClient(Screen.PrimaryScreen.Bounds.Left +
(Screen.PrimaryScreen.Bounds.Width - menuLabel.Width)/2);
Ваша форма не является такой же, как основного экрана. – SLaks
Ваш расчет выглядит нормально. Что еще вы можете нам сказать? Каковы значения всех этих свойств и какие значения должны быть? –