Meinst du mit Textfeld eine Textbox? Dieses Beispiel lässt nur Backspace und Zahlen zu:
Private Sub Text1_KeyPress(KeyAscii As Integer) If Not KeyAscii = vbKeyBack Then If Not (IsNumeric(Chr(KeyAscii))) Then KeyAscii = 0 End If End If End Sub
Leider gibst Du keinen Hinweis darauf, welche Umgebung Du meinst (Windows.Forms, WPF). Hier ist ein Beispiel für Windows.Forms:
Private Sub myTextBox_KeyPress(sender As Object, e As KeyPressEventArgs) ' Steuerzeichen sind kleiner als 32 und müssen durchgelassen werden: If e.KeyChar >= 32 AndAlso Not Char.IsDigit(e.KeyChar) Then e.Handled = True; End If End Sub
Hoppla Jürgen, das klingt etwas gekränkt. Ich hatte nicht vor, Deine Anwort zu "verbessern", sondern bot lediglich eine weitere Alternative (eben eine für .NET) an. Es sollte nicht heißen, dass ich etwas besser wüßte ;-)