Skip to main content

GridView.CalcHitInfo(Int32, Int32) Method

Returns information about the View elements located at the specified point.

Namespace: DevExpress.XtraGrid.Views.Grid

Assembly: DevExpress.XtraGrid.v23.2.dll

NuGet Packages: DevExpress.Win.Grid, DevExpress.Win.Navigation

Declaration

public GridHitInfo CalcHitInfo(
    int x,
    int y
)

Parameters

Name Type Description
x Int32

An integer representing the X coordinate of the test point relative to the top-left corner of the grid control.

y Int32

An integer representing the Y coordinate of the test point relative to the top-left corner of the grid control.

Returns

Type Description
GridHitInfo

A GridHitInfo object that contains information about View elements located at the test point.

Remarks

Use the CalcHitInfo method to determine which element is located at a specific point. For instance, this can be used when handling the View’s Click event to determine which element was clicked. In such instances, you will pass the current mouse pointer’s coordinates as the method’s parameter.

Please refer to the description of the GridHitInfo class for details on what information is provided by the method’s return value. The Hit Information topic provides general information on obtaining and using hit information.

Note

Detail pattern Views do not contain data and they are never displayed within XtraGrid. So, the CalcHitInfo member must not be invoked for these Views. The CalcHitInfo member can only be used with Views that display real data within the Grid Control. Use the following methods to access these Views with which an end user interacts at runtime.

Example

The following sample code shows how to identify the element located at a specific point using the GridView.CalcHitInfo method.

In the example, the CalcHitInfo method is called when you move the cursor over a Grid Control. The name of the current View element is displayed in the form’s caption.

using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Base;
using DevExpress.XtraGrid.Views.Base.ViewInfo;
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
// ...
private void gridControl1_MouseMove(object sender, MouseEventArgs e) {
    GridControl grid = sender as GridControl;
    if (grid == null) return;
    // Get a View at the current point.
    BaseView view = grid.GetViewAt(e.Location);
    if (view == null) return;
    // Retrieve information on the current View element.
    BaseHitInfo baseHI = view.CalcHitInfo(e.Location);
    GridHitInfo gridHI = baseHI as GridHitInfo;
    if (gridHI != null)
        Text = gridHI.HitTest.ToString();
}
See Also