DataGridView.HitTest(Int32, Int32) 方法

定义

在给定了 x 坐标和 y 坐标的情况下返回位置信息,例如,行索引和列索引。

public:
 System::Windows::Forms::DataGridView::HitTestInfo ^ HitTest(int x, int y);
public System.Windows.Forms.DataGridView.HitTestInfo HitTest (int x, int y);
member this.HitTest : int * int -> System.Windows.Forms.DataGridView.HitTestInfo
Public Function HitTest (x As Integer, y As Integer) As DataGridView.HitTestInfo

参数

x
Int32

x 坐标。

y
Int32

y 坐标。

返回

包含位置信息的 DataGridView.HitTestInfo

示例

下面的代码示例演示了此方法的使用。 此示例是属性参考主题中提供的更大示例的 Columns 一部分。

private DataGridViewCell clickedCell;

private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{
// If the user right-clicks a cell, store it for use by the shortcut menu.
    if (e.Button == MouseButtons.Right)
    {
        DataGridView.HitTestInfo hit = dataGridView1.HitTest(e.X, e.Y);
        if (hit.Type == DataGridViewHitTestType.Cell)
        {
            clickedCell =
                dataGridView1.Rows[hit.RowIndex].Cells[hit.ColumnIndex];
        }
    }
}
Private clickedCell As DataGridViewCell

Private Sub dataGridView1_MouseDown(ByVal sender As Object, _
    ByVal e As MouseEventArgs) Handles dataGridView1.MouseDown

    ' If the user right-clicks a cell, store it for use by the 
    ' shortcut menu.
    If e.Button = MouseButtons.Right Then
        Dim hit As DataGridView.HitTestInfo = _
            dataGridView1.HitTest(e.X, e.Y)
        If hit.Type = DataGridViewHitTestType.Cell Then
            clickedCell = _
                dataGridView1.Rows(hit.RowIndex).Cells(hit.ColumnIndex)
        End If
    End If

End Sub

注解

可以使用此方法确定控件的 DataGridView 哪个部分位于指定坐标处。 例如,可以调用此方法(指定鼠标单击的坐标),以确定单击的单元格的行索引和列索引,或者是否单击了标题单元格或滚动条。

适用于

另请参阅