我在优化机房收费时候想要限制textBox控件的输入,不允许输入非法字符,可是我找了好几天都没有找到,我在第一遍机房收费的时候没有好好做,很多功能就没有实现,现在遇到这个功能不能实现,我怎么忍心再放弃啊...之后我想,问问别人吧,结果都跟我说“在第一遍的时候这个功能我已经实现了,所以第二遍的时候就没做”,额...我就去找了他们曾经写过得博客,如何限制textBox的输入,可是VB6.0上的代码用到VB.net却不能实现,好郁闷。
然后我又去查,但只找到了怎样只能输入数字,这我就已经开心的不行了!,我想继续优化,比如限制输入汉字和字母...我想用ascii码限制,无奈我快崩溃了都没弄出来...我只好找外援了,荣凯兄一直跟我说用ascii码限制,所以我就他拉了过来...
修改的过程并不像我们想的那么简单,荣凯兄噼里啪啦的整了一个多小时,终于功夫不负有心人,达到了我们想要的结果。
姓名只可以可以输入汉字和字母,否则你按下键的时候就会有提示,而且在textBox框中不会显示不允许输入的内容
卡号只能输入数字,输入其他值就提示,“只能输入数字!”textBox框中不显示不允许输入的内容
密码可以输入数字和字母,通过设置ImeMode属性为Disable ,不管在中文输入下还是在英文输入下,按下字母都只能显示字母而不能显示汉字
好了,服务一下大众吧,上代码
Private Sub txtName_KeyPress(sender As Object,e As KeyPressEventArgs) Handles txtName.KeyPress If Char.IsLetter(e.KeyChar) Or e.KeyChar = Chr(8) Then ' e.KeyChar = Chr(8)为删除键 e.Handled = False Else e.Handled = True '事件己处理 MsgBox("请输入汉字或字母!","提示!") End If txtName.MaxLength = 11 End Sub
Private Sub txtPWD2_KeyPress(sender As Object,e As KeyPressEventArgs) Handles txtPWD2.KeyPress 'vb.net textBox控件 限制输入,只能输入数字 txtPWD2.ImeMode = Windows.Forms.ImeMode.Disable If Char.IsDigit(e.KeyChar) Or e.KeyChar = Chr(8) Or Char.IsLetter(e.KeyChar) Then e.Handled = False Else e.Handled = True '事件己处理 MsgBox("只能输入数字或字母!","提示!") End If '限制textBox长度 txtPWD2.MaxLength = 11 End Sub
Private Sub txtUserID_KeyPress(sender As Object,e As KeyPressEventArgs) Handles txtUserID.KeyPress 'vb.net textBox控件 限制输入,只能输入数字 txtUserID.ImeMode = Windows.Forms.ImeMode.Disable If Char.IsDigit(e.KeyChar) Or e.KeyChar = Chr(8) Then e.Handled = False Else e.Handled = True '事件己处理 MsgBox("只能输入数字!","提示!") End If '限制textBox长度 txtUserID.MaxLength = 11 End Sub从这件事上看...即使看上去很简单的功能,也有必要自己上手实践一下啊... 原文链接:https://www.f2er.com/vb/257002.html