鼠标位置如何转换为滚动控件?

5
我有一个垂直滚动的控件。我需要计算鼠标位置(在点击时)相对于控件顶部的位置,而不仅仅是可见区域。
例如,假设我的控件高度为500。滚动条使可见矩形的高度为100。因此,在部分滚动时,客户端坐标(来自鼠标点击)将返回相对于客户端矩形的数字(例如50)。
但是我想知道的是从我的控件开头的偏移量,所以它可能是250之类的东西。
我一直试图弄清楚这个问题,我认为我一定忽略了一些容易的东西,因为我没有找到关于这个主题的太多信息。
谢谢。
1个回答

1

尝试查看PointToClient方法MousePosition方法,并尝试将鼠标的屏幕坐标转换为控件的相对坐标。

Point screenPos = new Point(MousePosition.X, MousePosition.Y);
Point myPos = myControl.PointToClient(screenPos);

不满足作者(和我)需要完成的任务。 - tmighty

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接