2013-03-02 1 views
-1
Private Sub TextBox1_textChange(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged 

    Dim intValue As Integer 
    If Not Integer.TryParse(TextBox1.Text, intValue) OrElse intValue < 1 OrElse intValue > 10 Then 
     TextBox1.Text = "" 
    Else 
     MsgBox(intValue) 


    End If 

End Sub 

вот мой код, текстовое поле уже принимает только номер, когда я нажимаю "1" в textbox1.text = "1", но когда я снова нажмите "1" первый "1" это время перезаписи .. то же самое с при я нажимаю "2" textbox1.text теперь равен "2" ..Б. TextBox принять только цифры PROB

помогите пожалуйста?

+1

вы идете на событие нажатия клавиши. – spajce

ответ

1

Лучше обрабатывать KeyPress события для достижения необходимых функций

Private Sub DigitTextBox_KeyPress(sender As Object, e As KeyPressEventArgs) 
    If Not Char.IsDigit(e.KeyChar) Then 
     e.Handled = True 
    End If 
    'Just Digits 
    If e.KeyChar = ChrW(8) Then 
     e.Handled = False 
    End If 
    'Allow Backspace 
End Sub 
0

Это lloks как код проверки, что текстовое поле имеет значение 1-10. Если да, то это будет работать

Dim intValue As Integer 
    If Integer.TryParse(TextBox1.Text, intValue) AndAlso intValue > 0 AndAlso intValue < 11 Then 
     Debug.WriteLine(intValue) 'good value 
    Else 
     TextBox1.Text = "" 'bad value 
    End If 
Смежные вопросы