如何使enter-key作为datagridview中的tab键工作?

时间:2018-01-31 13:02:29

标签: c# winforms datagridview

我想将Enter密钥作为Windows窗体datagridview中的Tab键工作吗?

我尝试过其他网站的一些解决方案:https://i.stack.imgur.com/KQgfj.png

1 个答案:

答案 0 :(得分:0)

您需要处理datagridview的KeyUp和KeyDown事件,并且在事件处理程序中,您需要设置datagridview的CurrentCell属性,以便选择适当的单元格。

以下是代码。

private void dgvSearch_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyData == Keys.Enter)
        {
            e.Handled = true;
        }
    }

    private void dgvSearch_KeyUp(object sender, KeyEventArgs e)
    {
        if (e.KeyData == Keys.Enter)
        {
            dgvSearch.CurrentCell.Selected = false;


            if (dgvSearch.CurrentCell.ColumnIndex < dgvSearch.ColumnCount - 1)
            {
                dgvSearch.Rows[dgvSearch.CurrentCell.RowIndex].Cells[dgvSearch.CurrentCell.ColumnIndex + 1]
                    .Selected = true;

                dgvSearch.CurrentCell = dgvSearch.Rows[dgvSearch.CurrentCell.RowIndex]
                    .Cells[dgvSearch.CurrentCell.ColumnIndex + 1];
            }
            else if (dgvSearch.CurrentCell.RowIndex < dgvSearch.RowCount - 1)
            {
                dgvSearch.Rows[dgvSearch.CurrentCell.RowIndex + 1].Cells[0].Selected = true;
                dgvSearch.CurrentCell = dgvSearch.Rows[dgvSearch.CurrentCell.RowIndex + 1].Cells[0];
            }


        }
    }

这不是完美的代码,但它可以解决您的目的。

这可以帮助您解决问题。