如何检查鼠标是否在选定区域上方

本文关键字:区域 是否 鼠标 何检查 检查 | 更新日期: 2023-09-27 18:01:31

在我的WinForms应用程序中,我有图表控件和这些设置:

chartArea.CursorX.IsUserEnabled = true;
chartArea.CursorX.IsUserSelectionEnabled = true;
chartArea.AxisX.ScaleView.Zoomable = false;

其中chartArea是我的Chart控件中的主要(且唯一)ChartArea对象。

我想做的是选择区域的可能性(它已经是可能的),当鼠标在这个区域上时,如果我左键单击所选区域内的图表控件,我不想它太放大。

这里的第一个问题是如何检测我是否超过选定的区域?用chart.HitTest()可以得到HitTestResult.PointIndex字段值,并与选择范围进行比较。但这只适用于,如果鼠标正好在DataPoint上。所以它不工作SeriesChartType.FastLine,我正在使用。

如果这个问题得到解决,下一个问题将是鼠标点击后取消选择(在ClickMouseXXX事件被调用之前)。


我找到了axis.PixelPositionToValue()方法,它给了我我需要的每一个信息,因为从MouseMove事件参数我有像素位置。对于click events问题,我将写另一个问题

如何检查鼠标是否在选定区域上方

http://www.bigresource.com/VB-Using-MsChart-MouseOver-Event-to-display-the-contents-of-array-that-populated-chart-ydWJntrg8c.html

虽然这是VB。NET,概念是一样的。我想。