在Delphi中,默认切换输入控件的输入焦点的按键是Tab,这个默认有点不符合输入习惯,大多数人习惯按Enter来切换到下一个输入单元。

在dbgrid这个控件中,当前输入焦点列的设置是通过selectedIndex来控制的。如果我们想在用户按Enter后切换到下一列,可以在dbgrid的keypress事件里添加处理逻辑:

if key = #13 then

begin

  if dbgrid.selectedIndex < dbgrid.columns.count - 1 then  //防止将焦点移到不存在的列

    dbgrid.selectedIndex := dbgrid.selectedIndex + 1;  //将输入焦点移动到下一列

  key := #0;

end;