vb文本框只能输数字和小数点,怎么不能做成一个过程来调用?

PrivateSubText1_KeyPress(KeyAsciiAsInteger)JCSJ'调用检查数字endsubsubJCSJ()SelectCaseKeyAsc... Private Sub Text1_KeyPress(KeyAscii As Integer)
JCSJ '调用检查数字
end sub
sub JCSJ()
Select Case KeyAscii
Case Asc("0") To Asc("9"), vbKeyBack, Asc(".") '允许0~9数字和退格键和符号“.”
Case Else
KeyAscii = 0
Beep '其他的发出Beep声音
MsgBox "只能输入数字!"
End Select
end sub
直接在Text1_KeyPress中用得好好的,怎么调用就不行呢?输入数字也提示错误!
展开
 我来答
laserw9
2013-04-11 · TA获得超过883个赞
知道小有建树答主
回答量:356
采纳率:80%
帮助的人:195万
展开全部
因为必要参数没传递进去,假如说你传递 KeyAscii变量到 JCSJ 过程里,那在过程里修改还是不影响控件的数据。

你要想方便,可以用这种方式:

Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = KeepNumAsc(KeyAscii) '过滤
End Sub
Function KeepNumAsc(KeyAscii As Integer) As Integer
Select Case KeyAscii
Case Asc("0") To Asc("9"), vbKeyBack, Asc(".") '允许0~9数字和退格键和符号“.”
KeepNumAsc = KeyAscii
Case Else
KeepNumAsc = 0
Beep '其他的发出Beep声音
MsgBox "只能输入数字!"
End Select
End Function
解甲将军
2013-04-11 · TA获得超过5092个赞
知道大有可为答主
回答量:1.3万
采纳率:0%
帮助的人:3366万
展开全部
私人:子Text1_KeyPress(KeyAscii作为整数)

如果KeyAscii = 46或(KeyAscii> = 48和KeyAscii <= 57)或KeyAscii = 8然后

其他

KeyAscii = 0 BR />结束如果
结束小组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fdc3752
2013-04-11 · TA获得超过104个赞
知道小有建树答主
回答量:414
采纳率:0%
帮助的人:174万
展开全部
调用过程时记得传递必要参数。。。-_-||
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式