我正在编写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.Text
和txtAmount2.Text
。
当我继续按Tab键时,焦点将转到txtAmount2.Text
。但datagridview的下一个是txtAmount1.Text
。重点是在datagridview之后进行下一次控制imidiate控件。焦点应该转移到txtAmount1.Text
控件。我该怎么办?请帮帮我。
答案 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}");