BackSpace键在TextBox中不起作用(VB.Net)

时间:2018-04-20 15:16:34

标签: vb.net visual-studio

下面是我的代码,用于将数据输入限制为仅限于两位小数的文本框中的数字。但是,在删除文本框中输入的数据时,退格键不起作用。

Private Sub txtbasicsalary_keypress(sender As Object, e As KeyPressEventArgs) Handles txtbasicsalary.KeyPress

    If Not Char.IsDigit(e.KeyChar) And Not e.KeyChar = "." Then
        e.Handled = True
    ElseIf e.KeyChar = "." And txtbasicsalary.Text.IndexOf(".") <> -1 Then
        e.Handled = True
    ElseIf e.KeyChar = "." Then
        e.Handled = False
    ElseIf e.KeyChar = ControlChars.Back Then
        e.Handled = False
    ElseIf Char.IsDigit(e.KeyChar) Then
        If txtbasicsalary.Text.IndexOf(".") <> -1 Then
            If txtbasicsalary.Text.Length >= txtbasicsalary.Text.IndexOf(".") + 3 Then  'replace 2 for greater numbers after decimal point
                e.Handled = True
                txtconveyance.Focus()
            End If
        End If
    End If

End Sub

请查看并提出建议。

由于 塞勒曼。

1 个答案:

答案 0 :(得分:1)

几周前我遇到过类似的问题。 我编辑了你的代码!并检查它。 现在它完美地运作了。 好好享受! 此外,您还可以下载here

的完整工作项目
for(k in users){
   for(k1 in posts){
      if(posts[k1].userId===users[k].id){
         if(!users[k].hasOwnProperty('posts')) {
             users[k].posts = [];
         }
         users[k].posts.push(posts[k1].body);
      }
   }
}