不用這個應該使用重載Form的ProcessCmdKey,假如我們處理的是textBox1如下: Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
十多年的陽谷網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網營銷推廣的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整陽谷建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“陽谷網站設計”,“陽谷網站推廣”以來,每個客戶項目都認真落實執(zhí)行。
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),每次用戶輸入一個字符時檢測,如不滿足則清空
我現(xiàn)在不在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謝謝