我正在寻找一个属性,该属性为我提供了控件相对于其窗体位置的位置,而不是相对于窗体的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/