如何触发并捕获 DataGridViewComboBoxCell.MouseDoubleClick 事件并从此事件打开另一个表单?

How to fire & catch DataGridViewComboBoxCell.MouseDoubleClick event and open another form from this event?

我正在开发一个项目,其中我有一个包含普通文本框单元格和组合框单元格的 datagridview,我可以从 datagridview 的 MouseDoubleClick 事件处理程序中捕获普通文本框单元格中的 mouseDoubleClick 事件。但我不知道如何发射和捕获 DataGridViewComboBoxCell.MouseDoubleClick event.

请帮助我如何完成它。

组合框,真实的或在 dgv 列中 do not support doubleclicks。因此,当它在 windows 的其余部分不起作用时,您不应该尝试让它在这里起作用!

我建议使用不同的用户操作;想到用右键单击。它通常会弹出一个上下文相关的菜单,所以这似乎是一个不错的选择..

我使用 HitTest 函数来查找单元格,因为 ComboBoxColumn 很难确定被击中的单元格..

private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button.HasFlag(MouseButtons.Right))
    {
        DataGridView.HitTestInfo hit = dataGridView1.HitTest(e.X, e.Y);
        DataGridViewCell cell = dataGridView1[hit.ColumnIndex, hit.RowIndex];
        // call some event..
        yourInfoAction(cell.Value);
    }
}