如何在Datagridview中控制SendKeys.Send {“tab”}属性?

时间:2013-02-14 12:37:35

标签: c# datagridview sendkeys

我正在编写datagridview cell中的代码,输入事件为

private void dgvGoodsRecpt_CellEnter(object sender, DataGridViewCellEventArgs e)
{
    if (dgvGoodsRecpt.CurrentRow.Cells[e.ColumnIndex].ReadOnly)
    {
        SendKeys.Send("{tab}");
    }
}

如果当前单元格为ReadOnly true,此代码会将标签发送到下一个单元格。

它运行良好但我的问题是我的datagridview最后一列是readonly true,下一个控件是txtAmount1.TexttxtAmount2.Text

当我继续按Tab键时,焦点将转到txtAmount2.Text。但datagridview的下一个是txtAmount1.Text。重点是在datagridview之后进行下一次控制imidiate控件。焦点应该转移到txtAmount1.Text控件。我该怎么办?请帮帮我。

2 个答案:

答案 0 :(得分:2)

使用它:

SendKeys.Send("\t");

答案 1 :(得分:1)

有一个非字母数字键的预定义字符串常量列表。例如,{TAB}用于Tab键。以下是包含所有常量的MSDN文章:https://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.send%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

您也可以考虑使用SendKeys.SendWait。此方法将确保目标应用程序进程在应用程序继续之前发送密钥。例如:

SendKeys.SendWait("{TAB}");