不用这个应该使用重载Form的ProcessCmdKey,假如我们处理的是textBox1如下: Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
十多年的阳谷网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整阳谷建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“阳谷网站设计”,“阳谷网站推广”以来,每个客户项目都认真落实执行。
If Not TextBox1.Focused Then Return False '焦点不在指定文本框上,不处理
If keyData = Keys.A And keyData = Keys.Z Then '是字母,还不知道是否是大小写
If IsKeyLocked(Keys.CapsLock) Then '大写锁定
Return Not CInt(ModifierKeys()) And CInt(Keys.Shift) 0 '如果Shift没锁定(即是大写)要过滤,返回TRUE;
Else
Return CInt(ModifierKeys()) And CInt(Keys.Shift) 0 '如果Shift锁定(即是大写)要过滤,返回TRUE;
End If
ElseIf keyData = Keys.Back Or keyData = Keys.Delete Then '还有允许的其它键
Return False
End If
Return True '剩余的键都过滤掉
End Function
Private Sub TextBox1_KeyPress1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = "A" And e.KeyChar = "Z" Or e.KeyChar = "a" And e.KeyChar = "z" Then
e.Handled = False
Else
MessageBox.Show ("只能输入字母!")
e.Handled = True
Exit Sub
End If
End Sub
每个textbox都有KeyPress事件(event),每次用户输入一个字符时检测,如不满足则清空
我现在不在vs下,你可以找到这个面板,绑定相应的函数
比如只能显示数字
Private Sub NumBox_KeyPress(KeyAscii As Integer)
If Not IsNumeric(NumBox.Text) Then
NumBox.Text = ""
End If
End Sub
只能显示英语(a-z 97-122; A-Z 65-90; 8(退格)和13(换行))
Private Sub EngBox_KeyPress(KeyAscii As Integer)
If Not (KeyAscii = 97 And KeyAscii=122) Or (KeyAscii = 90 And KeyAscii=65) Or = 8 Then
EngBox.Text = ""
End If
End Sub
只能显示汉字(汉字的ASCII值要么小于0,要么是8(退格)和13(换行))
Private Sub ChineseBox_KeyPress(KeyAscii As Integer)
If Not KeyAscii 0 Or KeyAscii = 8 Or KeyAscii = 13 Then
ChineseBox.Text=""
End If
End Sub
做了一些小修改,不明白请及时追问,满意敬请采纳,O(∩_∩)O谢谢