Returns information on the gauge elements located at the specified point.
public LinearGaugeHitInfo CalcHitInfo( Point point )
Public Function CalcHitInfo( point As Point ) As LinearGaugeHitInfo
A Point structure which specifies the test point coordinates relative to the gauge's top-left corner.
A LinearGaugeHitInfo object, which contains information about the gauge elements located at the test point.
Use the CalcHitInfo method to determine which element is located at the specified point. For instance, this can be used when handling the gauge's MouseDown event to determine which element was clicked. In such cases, pass the current mouse pointer's coordinates as the method's parameter.
This example demonstrates how to show a tooltip with the current value of a needle on a circular gauge.
To do this, it is necessary to handle the MouseMove and MouseLeave events for the CircularGaugeControl object and obtain the current mouse position on a scale via the CircularGaugeControl.CalcHitInfo method. After that, if the mouse pointer hovers over the needle, it becomes possible to invoke the tooltip that displays the current needle's value.
Note that this approach is applicable to only those gauge elements whose ValueIndicatorBase.IsHitTestVisible property is set to True (this is the default option). If the IsHitTestVisible property is set to False, this element is excluded from the hit-testing algorithm. To explore this behavior in action, mark and unmark the "Show tooltips for a needle" CheckEdit (whose check state is bound to the needle's IsHitTestVisible property). So, the unmarked CheckEdit's state means that tooltips are not displayed for a needle.
A complete sample project is available at https://github.com/DevExpress-Examples/how-to-display-tooltips-for-gauge-elements-e3406.
Imports Microsoft.VisualBasic Imports System.Windows Imports System.Windows.Controls.Primitives Imports System.Windows.Input Imports DevExpress.Xpf.Gauges Namespace DXGauges_ShowTooltips Partial Public Class MainWindow Inherits Window Public Sub New() InitializeComponent() End Sub Private Sub circularGaugeControl1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) Dim hitInfo As CircularGaugeHitInfo = circularGaugeControl1.CalcHitInfo(e.GetPosition(circularGaugeControl1)) If hitInfo.InNeedle Then tooltip_text.Text = "Value: " & hitInfo.Needle.Value.ToString("n2") tooltip.Placement = PlacementMode.Mouse tooltip.IsOpen = True Else tooltip.IsOpen = False End If End Sub Private Sub circularGaugeControl1_MouseLeave(ByVal sender As Object, ByVal e As MouseEventArgs) tooltip.IsOpen = False End Sub End Class End Namespace