Hola, yo he usado el MaskedTextBox y en verdad no me gusta, asi que lo hago de esta forma, espeo te sirva.
Código vb:
Ver original'Tb_cantidad ==> TextBox donde ingresamos los valores.
'Tb_precio ==> Siguiente TextBox despues de precionar el Enter
Private Sub Tb_cantidad_KeyPress(ByVal sender As Object, ByVal e As _
System.Windows.Forms.KeyPressEventArgs) Handles Tb_cantidad.KeyPress
If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then
e.Handled = True
If Tb_cantidad.Text = CChar("") Then
Tb_cantidad.Text = "0"
End If
Tb_cantidad.Text = Format(Tb_cantidad.Text, "###,##0.00")
Tb_precio.Focus()
End If
' "0123456789.-" Valores o caracteres que solo aceptara el TextBox
If InStr(1, "0123456789.-" & Chr(8), e.KeyChar) = 0 Then
e.Handled = True
e.KeyChar = CChar("")
End If
End Sub
Saludos.