Yo para eso ocupo el KeyPress, te dejo el ejemplo espero te sirva.
Código vb:
Ver original'Tb_cantida ==> TexBox donde se ingresa una cantida.
Private Sub Tb_cantidad_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Tb_cantidad.KeyPress, Tb_unidad.KeyPress
If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then
e.Handled = True
Tb_codigo.Focus() ' En caso de que la tecla sea Enter lo envia a un TexBox de Codigo
End If
If InStr(1, "0123456789." & Chr(8), e.KeyChar) = 0 Then
' Validas solo las teclas que necesitas Ej. 0123456789.,-@$&/ , la barra espaciadora, backspace y los cursores funcionan sin problema
e.Handled = True
e.KeyChar = CChar("")
End If
End Sub
Desde Chile