我在 datagridview 单元格输入事件中编写代码为
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
控件。我应该怎么办?请帮助我。
最佳答案
有一个非字母数字键的预定义字符串常量列表。例如,{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
。此方法将确保目标应用程序在您的应用程序继续之前处理发送的 key 。例如:
SendKeys.SendWait("{TAB}");
关于c# - 如何控制 Datagridview 中的 SendKeys.Send {"tab"} 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14875058/