in effetti la tua soluzione è diversa da quella che intendevo fare io .... comunque ho risolto così

codice:
Imports System.Windows.Forms.TextBox

Public Class NumericTextField

    Inherits System.Windows.Forms.TextBox

    Public Sub New()
        Me.Text = ""
    End Sub

    Public Sub NumericTextField_KeyPressed(ByVal sender As Object, ByVal evt As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
        Dim app As String
        app = Me.Text & evt.KeyChar.ToString
        If (Not IsNumeric(app) And (Not Char.IsControl(evt.KeyChar))) Then
            evt.Handled = True
        End If
    End Sub


    Private Sub NumericTextField_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.LostFocus
        If IsNumeric(Me.Text) Then
            Me.Text = CType(Me.Text, Double)
        End If
        Me.SelectionStart = Me.Text.Length
    End Sub

End Class

grazie mille comunque