这应该在X轴上居中menuLabel
。但是当我运行它时,menuLabel
太远了。
为什么会发生这种情况?
menuLabel.Left = Screen.PrimaryScreen.Bounds.Left +
(Screen.PrimaryScreen.Bounds.Width / 2) - (menuLabel.Width / 2);
答案 0 :(得分:0)
您的menuLabel
位于某个Form
或其他容器控件上,因此其坐标相对于该父控件或Form
。
要将屏幕坐标转换为本地坐标,请使用Control.PointToClient
方法
Form
作为容器的示例(假设此代码位于Form
的类中):
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);