You can make use of events like:
Control.KeyDown Event (System.Windows.Forms) | Microsoft Docs[
^]
Then handle the scenario in the event. Sample:
Private nonNumberEntered As Boolean = False
Private Sub textBox1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) _
Handles textBox1.KeyDown
nonNumberEntered = False
If e.KeyCode < Keys.D0 OrElse e.KeyCode > Keys.D9 Then
If e.KeyCode < Keys.NumPad0 OrElse e.KeyCode > Keys.NumPad9 Then
If e.KeyCode <> Keys.Back Then
nonNumberEntered = True
End If
End If
End If
If Control.ModifierKeys = Keys.Shift Then
nonNumberEntered = true
End If
End Sub
Private Sub textBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) _
Handles textBox1.KeyPress
If nonNumberEntered = True Then
e.Handled = True
End If
End Sub