winform chart图表中如何获得鼠标相对于xy轴的坐标位置?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform chart图表中如何获得鼠标相对于xy轴的坐标位置?相关的知识,希望对你有一定的参考价值。
private void chart1_MouseMove(object sender, MouseEventArgs e)
HitTestResult myTestResult = chart1.HitTest(e.X, e.Y);
if (myTestResult.ChartElementType == ChartElementType.DataPoint)
int i = myTestResult.PointIndex;
DataPoint dp = myTestResult.Series.Points[i];
double doubleXValue = (dp.XValue);
double doubleYValue = (dp.YValues[0]);
chart1.Titles[1].Text = "e.X" + doubleXValue+ "e.Y " + doubleXValue;
else
this.Cursor = Cursors.Default;
这个方法只能获得已经在图表中赋值的数据点,没有办法获得其他空白区域点xy轴坐标信息。
假设每隔一秒采集一次共一分钟的显示。
第一秒的放到横轴60的位置,采集完一分钟后第六十一秒的数据占第六十的位置,之前的数据往前移一位,然后显示每个点,再用线连起来。
C#是一个语言,.net是一个平台,上面支持用C#或者VB .Net写代码。
另外,C#不但可以开发基于.net的应用程序,也可以开发基于WinForm的程序,这就是区别。
. NET 是 Microsoft 的 XML Web 服务平台。不论操作系统或编程语言有何差别,XML Web 服务能使应用程序在 Internet 上传输和共享数据。追问
我需要在鼠标放入这个图表中后能够获得xy轴的值,即使是里面没有数据。
如何在javascript中获取鼠标相对于窗口视口的位置?
【中文标题】如何在javascript中获取鼠标相对于窗口视口的位置?【英文标题】:How to get the mouse position relative to the window viewport in javascript? 【发布时间】:2013-01-20 23:24:15 【问题描述】:event.pageY
获取相对于整个文档高度的鼠标位置(我假设为document.documentElement.offsetHeight
)。
但是如何获得鼠标相对于当前视口的位置,即document.documentElement.clientHeight
?
例如,如果浏览器窗口大小为 720 像素高度,我向下滚动 3 页并将鼠标保持在窗口中间,位置应该是“360”,而不是 1800(720 x 3 - 720 / 2).
【问题讨论】:
【参考方案1】:尝试使用event.clientY
,无论滚动如何,它都应该始终返回正确的值
https://developer.mozilla.org/en-US/docs/DOM/event.clientY
【讨论】:
这似乎与网页无关。我认为这与客户的显示器有关。因此,如果浏览器只占据屏幕的右半部分,并且有人点击了网页的左上角,那么它会返回不同于浏览器全屏并且有人点击相同位置的内容。跨度> 【参考方案2】:使用event.clientY
获取相对于浏览器视口的mouse position (Compatibility table)。
【讨论】:
【参考方案3】:我遇到了类似的情况,我需要光标的坐标 w.r.t 视口(因为我的页面是可滚动的)。
我在这里尝试了其他答案,一旦滚动屏幕,它们似乎就不起作用(它们适用于不可滚动的页面)。
在阅读了https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent 的一些文档页面后
我发现在使用可滚动页面时,如果您需要当前视口的 X 和 Y 坐标(即即使滚动),最好使用
event.pageX
代替。
var pageX = MouseEvent.pageX;
https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageX
【讨论】:
以上是关于winform chart图表中如何获得鼠标相对于xy轴的坐标位置?的主要内容,如果未能解决你的问题,请参考以下文章