Chart / Interactivity / Axis Cursors
In This Topic
    Axis Cursors
    In This Topic

    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;