The axis cursor feature of the control allows you to highlight the current mouse coordinates projected on a pair of horizontal and vertical axes.
Axis Cursor Tool
You enable the axis cursor feature by adding an object of type NAxisCursorTool to the interactor of the chart:
C# |
Copy Code
|
---|---|
NInteractor interactor = new NInteractor(); NAxisCursorTool axisCursorTooll = new NAxisCursorTool(); axisCursorTooll.Enabled = true; interactor.Add(axisCursorTooll); chart.Interactor = interactor; |
Mouse Coordinate Snapping
To snap the mouse coordinate to the nearest tick or round value you can assign a value snapper to the axis cursor tool. The following code snippet shows how to assign horizontal and vertical snapping to the axis cursor tool:
C# |
Copy Code
|
---|---|
axisCursorTooll.HorizontalValueSnapper = new NNumericValueSnapper(5); axisCursorTooll.VerticalValueSnapper = new NNumericValueSnapper(5); |
Check out the Value Snapping topic for more information on different value snapper objects.
Changing the Reference Axes
By default the axis cursor tool will show axis cursors on the primary Y and primary X axes - if you wish to change this you need to assign a different axis to the HorizontalAxis or VerticalAxis properties of the tool:
C# |
Copy Code
|
---|---|
axisCursorTooll.VerticalAxis = someYAxis; axisCursorTooll.HorizontalAxis = someXAxis; |
Intercepting the Value Changed Events
The axis cursor tool has two events that allow you to track the horizontal and vertical axis cursor value changes:
C# |
Copy Code
|
---|---|
axisCursorTool.HorizontalValueChanged += new Function<NValueChangeEventArgs>(axisCursorTooll_HorizontalValueChanged); ... void axisCursorTool_HorizontalValueChanged(NValueChangeEventArgs arg) { NAxisCursorTool tool = (NAxisCursorTool)arg.TargetNode; // tool.HorizontalValue property holds the horizontal cursor value } |
Axis Cursor Update
By default, the horizontal and vertical axis cursor values will be updated when the mouse moves over the chart. This is controlled from the UpdateOnMouseMove property, which is set to true initially - in order to disable this behavior you can set this property to false:
C# |
Copy Code
|
---|---|
axisCursorTooll.UpdateOnMouseMove = false;
|
If you wish the mouse cursors to update on specific mouse button events (in response to user mouse clicks on the chart) you can use the UpdateMouseButtonEvents that exposes a bit mask allowing you to track different mouse events - for example:
C# |
Copy Code
|
---|---|
axisCursorTooll.UpdateMouseButtonEvents = ENMouseButtonEvent.LeftButtonDown | ENMouseButtonEvent.RightButtonDown; |
Now the cursors will update in response to a left or right mouse button.
Automatic Cursors Visibility
By default axis cursors will be visible only when the mouse hovers over the chart. When it leaves the chart content area axis cursors are automatically hidden. This feature can be turned off using the AutoHideCursors property:
C# |
Copy Code
|
---|---|
axisCursorTooll.AutoHideCursors = false;
|