DataGridView ImageColumn处理“Enter”键以执行Click

时间:2016-07-27 09:52:47

标签: c# winforms datagridview datagridviewimagecolumn

当我按 Enter 时,如何触发Click DataGridViewImageColumn事件。目前,当我按下DataGridViewImageColumn上的 Enter 键时,它会移动到下一个单元格。

enter image description here

请帮忙。

1 个答案:

答案 0 :(得分:1)

您可以将CellContentClick中要运行的代码放在方法中,然后将CellContentClickKeyDown调用该方法。

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    if (e.RowIndex >= 0 && e.ColumnIndex== 3)
        DoSomething(e.RowIndex, e.ColumnIndex);
}

public void DoSomething(int row, int column)
{
    MessageBox.Show(string.Format("Cell({0},{1}) Clicked", row, column));
}

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
    var cell = this.dataGridView1.CurrentCell;
    if (cell != null && e.KeyCode == Keys.Enter &&
        cell.RowIndex >= 0 && cell.ColumnIndex == 3)
    {
        DoSomething(cell.RowIndex, cell.ColumnIndex);
        e.Handled = true;
    }
}