Por lo que entiendo lo que quieres es un TextBox que acepte número o letras o lo que te de la gana (fechas, códigos de cuenta etc). Si es eso mira a ver si te vale algo así:
Public Class Numerico
Inherits System.Windows.Forms.TextBox
Friend WithEvents ErrorProvider1 As System.Windows.Forms.ErrorProvider
Private Entero As String = "###,###,##0"
Public Sub New()
Me.ErrorProvider1 = New System.Windows.Forms.ErrorProvider
Me.Text = 0
MyBase.TextAlign = HorizontalAlignment.Right
MyBase.Borderstyle = Windows.Forms.Borderstyle.Fixed3D
PonFormato()
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
Try
If MyBase.ReadOnly Then
e.Handled = True
End If
If e.KeyChar = "." Then e.KeyChar = ","
If MyBase.SelectionLength = Me.Text.Length Then
If IsNumeric(e.KeyChar) Or e.KeyChar = "," Then
'Me.Text = e.KeyChar
Exit Sub
End If
End If
If e.KeyChar = Convert.ToChar(13) Then
e.Handled = True
ElseIf e.KeyChar = Convert.ToChar(

Then
e.Handled = False
ElseIf e.KeyChar = ","c Then
Dim objTextBox As TextBox = CType(sender, TextBox)
If objTextBox.Text.IndexOf("."c) <> -1 Then
e.Handled = True
End If
ElseIf e.KeyChar = "+"c Or e.KeyChar = "-"c Then
Dim objTextBox As TextBox = CType(sender, TextBox)
If objTextBox.SelectionLength = objTextBox.TextLength Then
e.Handled = False
ElseIf objTextBox.TextLength <> 0 Then
e.Handled = True
End If
ElseIf e.KeyChar < "0"c Or e.KeyChar > "9"c Then
e.Handled = True
End If
Catch
End Try
End Sub
en el evento keypress hace lo que te parezca.
Saludos