请问如何限制文本框,只能输入字母或数字
如果用KeyPress事件,好像不能截获“del”键的KeyAscii
如果用MaskEdBox控件,会显示出固定的字符。
有没有更好的方法?
[解决办法]
KeyPress包括F1-F12也是无法截获的
使用 KeyDown 吧
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
MsgBox KeyCode
End Sub
[解决办法]
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
'0-9的ASC值是48-57,A-Z大写是65-90,A-Z小写是97-122, KeyCode自动转为大写返回
If (KeyCode >= 48 And KeyCode <= 57) Or (KeyCode >= 65 And KeyCode <= 90) Then
Else
KeyCode = 0 '不给值
MsgBox ("输入无效,请重新输入!")
End If
End Sub
[解决办法]
那直接子类化拦截wm_keydown就行罗.
[解决办法]
这种问题,随便google一下,也能找到啊
趁现在google还能用,快点儿用吧
[解决办法]
Private Sub Text1_Change()For i = 1 To Len(Text1)S = Mid(Text1, i, 1)If S Like "[!0-9]" And S Like "[!A-Z]" And S Like "[!a-z]" ThenText1 = Replace(Text1, S, "")End IfNextEnd Sub