当前位置: 移动技术网 > IT编程>开发语言>.net > .NET keypress 事件之键盘输入控制

.NET keypress 事件之键盘输入控制

2018年04月03日  | 移动技术网IT编程  | 我要评论

赖小子完整版,youyourenti,3u8973

下面是我在用VB6.0时实现的代码 


[vb]
Private Sub txtCash_KeyPress(KeyAscii As Integer)   '限制输入的金额只能是数字  
If KeyAscii < 48 Or KeyAscii > 57 Then 
        KeyAscii = 0 
        MsgBox "只能输入数字!,请重新输入!", vbOKOnly + vbExclamation, "警告" 
        txtCash.SetFocus 
    End If 
End Sub 

Private Sub txtCash_KeyPress(KeyAscii As Integer)   '限制输入的金额只能是数字
If KeyAscii < 48 Or KeyAscii > 57 Then
        KeyAscii = 0
        MsgBox "只能输入数字!,请重新输入!", vbOKOnly + vbExclamation, "警告"
        txtCash.SetFocus
    End If
End Sub

 

在利用VB.NET 解决这个问题时可以有下面两个方法 
1.  输入后在判断

    输入后控制就是在文本框内数据都输入完成后判断所输入的是否全是数字 ,代码如下


[csharp]
If IsNumeric(txtCash.Text) = False Then 
            '        MsgBox("请在金额中输入有效数字值") 
            '        txtCash.Focus() 
            '        txtCash.SelectAll() 
            '        Exit Sub 
            '    End If 

If IsNumeric(txtCash.Text) = False Then
            '        MsgBox("请在金额中输入有效数字值")
            '        txtCash.Focus()
            '        txtCash.SelectAll()
            '        Exit Sub
            '    End If   但是我觉着这样会很费时间,因为这是需要在程序运行后才能知道的, 而不是输入时就知道自己输入错了


2.输入时判断

    我采用了这中方法,可以再输入时就判断,代码如下:


[csharp]
Private Sub txtCash_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtCash.KeyPress 
        If Char.IsNumber(e.KeyChar) Or e.KeyChar = Chr(Keys.Back) Then   '退格应该允许。    
            Return 
        Else 
            MsgBox("请输入数字") 
            e.Handled = False 
        End If 
        e.Handled = True 
    End Sub 

Private Sub txtCash_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtCash.KeyPress
        If Char.IsNumber(e.KeyChar) Or e.KeyChar = Chr(Keys.Back) Then   '退格应该允许。  
            Return
        Else
            MsgBox("请输入数字")
            e.Handled = False
        End If
        e.Handled = True
    End Sub
其中e.keyChar是获取与键盘按下的键对应的字符, 而keys.Back 就是退格键的命令 

而e.Handled  是返回boolean  表示该事件是否被处理过了  


 

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网