Skip to main content
A newer version of this page is available. .

SchedulerViewBase.CalcHitInfo(MouseEventArgs) Method

Returns information on scheduler elements located at the specified point.

Namespace: DevExpress.Xpf.Scheduler

Assembly: DevExpress.Xpf.Scheduler.v18.2.dll

Declaration

public SchedulerControlHitInfo CalcHitInfo(
    MouseEventArgs e
)

Parameters

Name Type Description
e MouseEventArgs

A MouseEventArgs object providing data for mouse related routed events.

Returns

Type Description
DevExpress.Xpf.Scheduler.SchedulerControlHitInfo

A DevExpress.Xpf.Scheduler.SchedulerControlHitInfo object which contains information about scheduler elements located at the test point.

Remarks

Important

You are viewing documentation for the legacy WPF Scheduler control. If you’re starting a new project, we strongly recommend that you use a new control declared in the DevExpress.Xpf.Scheduling namespace. If you decide to upgrade an existing project in order to switch to the updated scheduler control, see the Migration Guidelines document.

This example demonstrates how to obtain the hit information for the scheduler element over which the mouse pointer is hovering.

To accomplish this, handle the SchedulerControl.MouseMove event and use the SchedulerViewBase.CalcHitInfo method to get the required information.

Private Sub SchedulerControl_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)
    ' Obtain hit information under the test point.
    Dim hitInfo As SchedulerControlHitInfo = schedulerControl1.ActiveView.CalcHitInfo(e)
    Dim builder As New StringBuilder()

    ' Check whether the scheduler element is located at the test point.
    Select Case hitInfo.HitTest
        Case SchedulerHitTest.AllDayArea
            builder.AppendLine("All-Day Area")
        Case SchedulerHitTest.AppointmentContent
            builder.AppendLine("Appointment")
            Dim appView As IAppointmentView = TryCast(hitInfo.ViewInfo, IAppointmentView)
            If appView IsNot Nothing Then
                builder.AppendLine("Subject: " & appView.Appointment.Subject)
                builder.AppendLine("Start: " & appView.Appointment.Start.ToString())
                builder.AppendLine("End: " & appView.Appointment.End.ToString())
            End If
        Case SchedulerHitTest.Cell
            builder.AppendLine("Time Cell")
    End Select

    If builder.Length > 0 Then
        builder.AppendLine("Interval: " & hitInfo.ViewInfo.Interval.ToString())
        builder.AppendLine("Is Selected? " & hitInfo.ViewInfo.Selected.ToString())
        lbl1.Content = String.Format("Hit test results:" & ControlChars.Lf & builder.ToString())
    Else
        lbl1.Content = "Move the mouse pointer over the scheduler" & ControlChars.Lf & " to get information on the element which is hovered over."
    End If
End Sub
See Also