Фильтрация ключей вряд ли гарантирует, что пользователь введет правильный номер. Временной интервал 0, вероятно, не годится. Вы не будете фильтровать ввод, когда пользователь нажал Ctrl + V. И как программист, я неравнодушен к программам, которые принимают 2E3 в качестве допустимого ввода.
Для решения этой проблемы было создано событие Validating. Удалите пару текстовых полей в форме и провайдер ошибок:
Private Sub TextBox1_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating
If TextBox1.Text.Length = 0 Then Exit Sub
Dim value As Double
If Not Double.TryParse(TextBox1.Text, value) or value <= 15 or value > 1E6 Then
TextBox1.SelectAll()
ErrorProvider1.SetError(TextBox1, "Not a valid number")
e.Cancel = True
Else
TextBox1.Text = value.ToString("N0")
ErrorProvider1.SetError(TextBox1, "")
Timer1.Interval = CInt(value)
End If
End Sub