0

わかりました、datagridview の doubleclick イベントを hitTest したいと思います。これは doubleclick イベントであるため、MouseEvent ではなく eventArgs を使用するだけなので、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 です

/編集はここに答えを追加しました

4

1 に答える 1

1

この行を置き換えました

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

これらの2行で、今ではうまくいきます

System.Drawing.Point pt = dgvFormulaires.PointToClient(Cursor.Position);
DataGridView.HitTestInfo test = dgvFormulaires.HitTest(pt.X, pt.Y);
于 2013-05-02T16:36:53.527 に答える