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

位置情報を格納している 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 部分が指定した座標に配置されているかを判断できます。 たとえば、マウス クリックの座標を指定するこのメソッドを呼び出して、クリックしたセルの行インデックスと列インデックス、ヘッダー セルまたはスクロール バーがクリックされたかどうかを判断できます。

適用対象

こちらもご覧ください