如何在DoubleClick事件中点击测试DataGridView

时间:2013-04-30 19:09:18

标签: c# winforms datagridview

好的,我想点击一次datagridview看看datagridview的doubleclick事件。因为它是doubleclick事件,你只需要eventArgs而不是MouseEvent,所以我不知道doubleclick的执行位置。

我尝试使用Cursor.Position,但它没有成功。

任何人都有解决方案吗?

这里的功能:

private void dgvFormulaires_DoubleClick(object sender, EventArgs e)
{
    if (dgvFormulaires.Rows.Count == 0)
        return;

    //I replaced the commented line with those 2 lines and now it work
    System.Drawing.Point pt = dgvFormulaires.PointToClient(Cursor.Position);
    DataGridView.HitTestInfo test = dgvFormulaires.HitTest(pt.X, pt.Y);
    //DataGridView.HitTestInfo test = dgvFormulaires.HitTest(Cursor.Position.X, Cursor.Position.Y);
    if(test.RowIndex >= 0)
        btnGestForm.PerformClick();
}

行索引始终为-1,代码为

/ edit在这里添加了答案

1 个答案:

答案 0 :(得分:1)

我替换了这一行

DataGridView.HitTestInfo test = dgvFormulaires.HitTest(Cursor.Position.X, Cursor.Position.Y);

这两行,现在效果很好

System.Drawing.Point pt = dgvFormulaires.PointToClient(Cursor.Position);
DataGridView.HitTestInfo test = dgvFormulaires.HitTest(pt.X, pt.Y);