-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",但是当我按下 AGAIN 时,"1"第一个"1"被覆盖..与我按下"2"textbox1.text 时相同。文本现在只等于"2"..

请帮忙?

4

2 回答 2

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
于 2013-03-02T09:30:13.297 回答
0

就像代码正在检查文本框的值是否为 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
于 2013-03-02T13:51:39.257 回答