You can override ProcessCmdKey, catch the Enter Key, and swap it for a Tab key by sending a Tab, and not processing the Enter Key.
[C#]
public class MyDataGrid : DataGrid
{
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
{
if(msg.WParam.ToInt32() == (int) Keys.Enter)
{
SendKeys.Send('{Tab}');
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
}
[VB.NET]
Public Class MyDataGrid
Inherits DataGrid
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, keyData As System.Windows.Forms.Keys) As Boolean
If msg.WParam.ToInt32() = CInt(Keys.Enter) Then
SendKeys.Send('{Tab}')
Return True
End If
Return MyBase.ProcessCmdKey(msg, keyData)
End Function ’ProcessCmdKey
End Class ’MyDataGrid
Share with