Hola Ausberto:
A mi se me planteo el mismo problema, pero al final lo solucione creandome un datagridview propio.Al tiempo lei que se podria hacer de otra forma pero como no tenia tiempo no lo probe.Te pongo el codigo, por si te sirve:
PublicClass MiDatagridView
Inherits DataGridView '
'en el 'processDialogKey'... cuando estamos en edicion
ProtectedOverridesFunction ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) AsBoolean
If keyData = Keys.Enter Then'Si es 'enter'
SendKeys.Send(Chr(Keys.Tab)) 'Enviar un 'Tab'
ReturnTrue'Marcar como procesado
Else'en caso contrario
ReturnMyBase.ProcessDialogKey(keyData) 'devolver KeyData
EndIf
EndFunction
'
' en 'OnKeyDown'... cuando no estamos en edicion
ProtectedOverridesSub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs)
If e.KeyData = Keys.Enter Then'Si es 'enter'
SendKeys.Send(Chr(Keys.Tab)) 'Enviar un 'Tab'
Else
MyBase.OnKeyDown(e) 'Devolver el KeyEventArgs
EndIf
EndSub
PublicSub InitializeComponent() 'Propiedades de datagridview
Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle
CType(Me, System.ComponentModel.ISupportInitialize).BeginIni t()
Me.SuspendLayout()
'
'MiDatagridView
'
Me.AllowDrop = True
Me.AllowUserToDeleteRows = False
Me.AllowUserToResizeColumns = False
Me.AllowUserToResizeRows = False
Me.BackgroundColor = System.Drawing.Color.LightBlue
Me.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode .Disable
Me.ColumnHeadersHeightSizeMode = CType(Me, System.ComponentModel.ISupportInitialize).EndInit( )
Me.ResumeLayout(False)
EndSub
EndClass