在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;