如何检查鼠标是否在选定区域上方
本文关键字:区域 是否 鼠标 何检查 检查 | 更新日期: 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
,我正在使用。
如果这个问题得到解决,下一个问题将是鼠标点击后取消选择(在Click
或MouseXXX
事件被调用之前)。
我找到了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,概念是一样的。我想。