我正在寻找一个属性,该属性为我提供了控件相对于其窗体位置的位置,而不是相对于窗体的ClientRectangle's“0,0”。

当然,我可以将所有内容转换为屏幕坐标,但是我想知道是否还有更直接的方法可以做到这一点。

最佳答案

您需要转换为屏幕坐标,然后进行一些数学运算。

Point controlLoc = form.PointToScreen(myControl.Location);

表单的位置已经在屏幕坐标中。

现在:
Point relativeLoc = new Point(controlLoc.X - form.Location.X, controlLoc.Y - form.Location.Y);

这将为您提供相对于表单左上角的位置,而不是相对于表单客户区的位置。

关于c# - 如何获得控件相对于其窗体位置的位置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10236377/

10-12 00:01
查看更多