0

好的,我想在该 datagridview 的双击事件中测试一个 datagridview。因为它是双击事件,所以你只有 eventArgs 而不是 MouseEvent,所以我不知道在哪里执行了双击。

我尝试了 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 在此处添加了答案

4

1 回答 1

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);
于 2013-05-02T16:36:53.527 回答