如何触发并捕获 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);
}
}
我正在开发一个项目,其中我有一个包含普通文本框单元格和组合框单元格的 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);
}
}