首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

请教怎么限制文本框,只能输入字母或数字

2012-01-28 
请问如何限制文本框,只能输入字母或数字如果用KeyPress事件,好像不能截获“del”键的KeyAscii如果用MaskEdBo

请问如何限制文本框,只能输入字母或数字
如果用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还能用,快点儿用吧
[解决办法]

VB code
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 

热点排行