如何让文本框只能输入数字

伽楠 2001-09-14 04:08:57
如何让文本框只能输入数字
...全文
572 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
伽楠 2001-09-18
  • 打赏
  • 举报
回复
问题我已经在发贴后没多久就解决了,帮大家加分是为了感谢大家的热情帮助,因本人分数有限所以加的不多,请多多谅解
linhq 2001-09-17
  • 打赏
  • 举报
回复
private sub txttextbox_keypress(keyascii as integer)
select case keyascii
case vbkeydelete
case vbkeyback
case else
beep
keyascii =0
end select
end sub
windowsXP 2001-09-16
  • 打赏
  • 举报
回复
GZ
windowsXP 2001-09-16
  • 打赏
  • 举报
回复
GZ
lty 2001-09-14
  • 打赏
  • 举报
回复
mryongzhang的办法可能会输入“87-23”之类的内容。
xdd1125 2001-09-14
  • 打赏
  • 举报
回复
最好作一个控件:在usercontrol中放一个textbox,在其keypress中加入处理代码,注意识别数字键和backup、del、空格等控制键;加一个text属性,让它等于textbox的text(注意在keyup事件中赋值)
zmazmapk 2001-09-14
  • 打赏
  • 举报
回复
在Text_KeyPress(....)中写入
if keyascii<asc("0") or keyascii>asc("9") then
msgbox "请输入数字!",vbInfomation,"提示"
keyascii=0
else
'检验通过
end if


mryongzhang 2001-09-14
  • 打赏
  • 举报
回复
'如果限制在文本框或其它一些控件中只能输入数字或一些特定的字符
'可以通过下面的一个函数来实现此功能
'方法:在需要限制输入的控件的 KeyPress 事件中加入以下代码:
' KeyAscii = ValiText(KeyAscii, "0123456789/-", True)
' 现在你就可以过虑掉你不希望的字符了。
'在此例中,我们只接受第二个参数提供的字符,即:"0123456789/-"
'而此函数的第三个参数就决定了能否使用 [Backspace] 键和[Enter]键。
'最后此函数对大小写是不敏感的

Public Function ValiText(KeyIn As Integer, ValidateString As String, Editable As Boolean) As Integer
Dim ValidateList As String
Dim KeyOut As Integer
If Editable = True Then
ValidateList = UCase(ValidateString) & Chr(8) & Chr(13)
Else
ValidateList = UCase(ValidateString)
End If

If InStr(1, ValidateList, UCase(Chr(KeyIn)), 1) > 0 Then
KeyOut = KeyIn
Else
KeyOut = 0
Beep
End If

ValiText = KeyOut
End Function
htu 2001-09-14
  • 打赏
  • 举报
回复
TEXT_KEYPRESS事件写入一下
Select Case KeyAscii
Case 45, 46, vbKey0 To vbKey9, vbKeyBack
Case Else
KeyAscii = 0
End Select
cqq_chen 2001-09-14
  • 打赏
  • 举报
回复
用MASK控件好些吧!
starbattler 2001-09-14
  • 打赏
  • 举报
回复
写代码控制
Jneu 2001-09-14
  • 打赏
  • 举报
回复
在TEXT_KEYPRESS事件中检测ASCII码。

7,763

社区成员

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

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