2011-11-21 97 views
2

我制作了一个文本框,它仅将字符使用限制为数字和句点。很好,但现在我不能进入退格键来修改我的文本框中输入的任何数据。我怎样才能解决这个问题?文本框不允许按退格键?

Private Sub TextBox10_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox10.KeyPress 

    Dim allowedChars As String = "1234567890." 

    If allowedChars.IndexOf(e.KeyChar) = -1 Then 
     ' Invalid Character 
     e.Handled = True 
    End If 

End Sub 

回答

6

您可以通过使用

If e.KeyChar = ChrW(8) Then 
    MessageBox.Show("backspace!") 
End If 

测试退格键,您的全部代码将变为:

Private Sub TextBox10_KeyPress(ByVal sender As Object, ByVal e As  System.Windows.Forms.KeyPressEventArgs) Handles TextBox10.KeyPress 

    Dim allowedChars As String = "1234567890." 

    If allowedChars.IndexOf(e.KeyChar) = -1 andalso 
      Not e.KeyChar = ChrW(8) Then 
     ' Invalid Character 
     e.Handled = True 
    End If 

End Sub 

类似的问题:How can I accept the backspace key in the keypress event?