我有一个垂直滚动的控件。我需要计算鼠标相对于控件顶部的位置(单击时),而不仅仅是可见区域。
例如,假设我的控件高度为 500。滚动条导致可见矩形的高度为 100。因此,当我部分滚动时,客户端坐标(来自鼠标单击)将返回一个相对于客户端的数字矩形(例如 50)。
但我想知道的是从我的控件开始的偏移量,所以它大约是 250。
我已经尝试了一段时间来解决这个问题,我想我一定是忽略了一些简单的事情,因为我没有找到关于这个主题的太多信息。
谢谢。
最佳答案
尝试查看 PointToClient Method和 MousePosition Method并尝试获取鼠标的 ScreenCoordinates 并将其转换为控件的相对坐标。
Point screenPos = new Point(MousePosition.X, MousePosition.Y);
Point myPos = myControl.PointToClient(screenPos);
关于c# - 鼠标位置如何转换为滚动控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10239868/