怎么样使keycode 和keyascii 什么也不返回?

Litao81 2003-09-03 04:53:03
怎么样使输入的内容,只能输入数字,当输入其它的字母时,输入的text处就不返回输入的字母,好象keyascii 是keyascii=0 ,keycode ?
...全文
96 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yijiansong 2003-09-04
  • 打赏
  • 举报
回复
那就在 CHANGE 事件中写
Litao81 2003-09-04
  • 打赏
  • 举报
回复
keyup 事件中的keycode 就不可以实现上面的功能吗?

另外,Gelim(Gelim) 说的破解方法是怎么一回事啊
Gelim 2003-09-04
  • 打赏
  • 举报
回复
楼上的各位,如果我把clipboard内的内容用ctrl+v就可以突破你们的设置了!

不可靠啊!
hxy1982 2003-09-03
  • 打赏
  • 举报
回复
up~!!

  • 打赏
  • 举报
回复
以上代码实现了在文本框中只允许输入数字和一个小数点,并且允许使用退格和删除键进行修改。
  • 打赏
  • 举报
回复
'在keyup事件中调用keypress事件,代码如下:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If IsNumeric(Chr(KeyAscii)) = True Or Chr(KeyAscii) = vbBack Or Chr(KeyAscii) = vbKeyDelete Then



ElseIf Chr(KeyAscii) = "." Then
If InStr(Text1.Text, ".") Then
KeyAscii = 0
End If
Else
KeyAscii = 0
End If
End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
Text1_KeyPress (Asc(KeyCode))
End Sub
Litao81 2003-09-03
  • 打赏
  • 举报
回复
keycode 的能否实现keyascii=0 呢? 如keycode =0 呢
onedream 2003-09-03
  • 打赏
  • 举报
回复
cuizm(射天狼) 的就可以了
如果你要输入小数,
则要判断 “.”
它的ascii为46
还要判断之前是否已经输入过
即不能出现15.325.3的现象
Litao81 2003-09-03
  • 打赏
  • 举报
回复
didishu0807(),这样只能起到提示的作用,而我想 他输入 "45h.." h时就不让他显示,直接就是45,所以最好有个keycode的事件,而且限制他输入时即可从大键盘输入又可从小键盘输入数字和小数点(也是两个)。
射天狼 2003-09-03
  • 打赏
  • 举报
回复
if keyascii <48 or keyascii >57 then keyascii = 0
Litao81 2003-09-03
  • 打赏
  • 举报
回复
有没有keycode 的方法,因为我是在keyup事件中的
didishu0807 2003-09-03
  • 打赏
  • 举报
回复
对text1的text内容,用IsNumeric 函数进行判断
eg:
Dim MyVar, MyCheck
MyVar = "53" ' 指定值。
MyCheck = IsNumeric(MyVar) ' 返回 True。

MyVar = "459.95" ' 指定值。
MyCheck = IsNumeric(MyVar) ' 返回 True。

MyVar = "45 Help" ' 指定值。
MyCheck = IsNumeric(MyVar) ' 返回 False。
Fengq 2003-09-03
  • 打赏
  • 举报
回复
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then
Beep
KeyAscii = 0
End If
End Sub

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧