Here are an answer from Mark Rideout (DatagridView Program Manager)
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=157055&SiteID=1
Scroll down 4 posts (and then more because they make better versions later on in the thread).
For future references if link will expire (All credits to Mark Rideout):
Create a new class named dvg that inherits from DataGridView. Compile project and then use this extended Datagridview-control instead of the normal and you'll have a datagridview that selects the next cell when pressing enter:
public class dgv : DataGridView
{
protected override bool ProcessDialogKey(Keys keyData)
{
Keys key = (keyData & Keys.KeyCode);
if (key == Keys.Enter)
{
return this.ProcessRightKey(keyData);
}
return base.ProcessDialogKey(keyData);
}
protected override bool ProcessDataGridViewKey(KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
return this.ProcessRightKey(e.KeyData);
}
return base.ProcessDataGridViewKey(e);
}
}