怎样限制vb中TEXT控件???
怎样限制vb中TEXT控件只能输入数字,如果输入非数字,就会跳出对话框警告“请输入数值”---
请高手指教
问题点数:20、回复次数:12Top
1 楼zyl910(编程的乐趣在于编程控制硬件,与用图形学实现绚丽效果)回复于 2002-04-04 13:28:48 得分 1
在“KeyPress”事件中添加代吗!Top
2 楼bamboo_leo(竹子)回复于 2002-04-04 13:29:49 得分 3
可以在Text的KeyPress事件中控制。
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 48 To 57 '0-9
exit sub
case else
keyascii=0
msgbox "请输入数值"
end select
end subTop
3 楼thorkhan(北方的河)回复于 2002-04-04 13:33:48 得分 5
我以前編的程序﹕
Public Function VailText(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(vbKeyBack)
Else
Validatelist = UCase(ValidateString)
End If
If InStr(1, Validatelist, UCase(Chr(KeyIn)), 1) > 0 Then
KeyOut = KeyIn
Else
KeyOut = 0
Beep
End If
VailText = KeyOut
End Function
'這樣之能輸入數字
Private Sub txtMinaute_KeyPress(KeyAscii As Integer)
KeyAscii = VailText(KeyAscii, "0123456789", True)
End Sub
Top
4 楼leonnet(里奥下的天空)回复于 2002-04-04 13:34:27 得分 0
楼上的说完了哟Top
5 楼gaoqi5037(高岐)回复于 2002-04-04 13:36:08 得分 2
这样也可以
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If Not IsNumeric(Chr(KeyCode)) Then
KeyCode = 0
MsgBox "请输入数值"
End If
End SubTop
6 楼lily0000000(heaven)回复于 2002-04-04 13:42:15 得分 1
同意thorkhan(灰滿)Top
7 楼skyant()回复于 2002-04-04 13:42:35 得分 0
Great!Top
8 楼combread()回复于 2002-04-04 13:45:34 得分 2
提醒一下,楼上的几位只能限制用户不能用键盘敲击输入数字,
但如果用户用"拷贝"-"粘贴"的话,就不行了.
所以,在采纳楼上意见的同时,还应该在
Change
事件中编程,进行限制.Top
9 楼combread()回复于 2002-04-04 13:48:03 得分 0
thorkhan(灰滿)的程序可以全部限制,不好意思.
^_^Top
10 楼combread()回复于 2002-04-04 13:51:22 得分 2
使用thorkhan(灰滿)的程序,用鼠标"拷贝"-"粘贴",还是可以把非文字的内容粘贴上去.
看来必须还要在文本框的Change事件中编程才行.
:(Top
11 楼gaoqi5037(高岐)回复于 2002-04-04 14:03:28 得分 3
combread(大点)说得有道理
Private Sub Text1_Change
if not isnumeric(text1) then
msgbox "请输入数值"
text1=""
end if
End Sub
Top
12 楼small_haozi(小耗子)回复于 2002-04-04 14:23:55 得分 1
用IsNumeric来判断即可Top
13 楼netice_cn(网冰)回复于 2002-04-04 19:13:14 得分 0
谢谢高手们的帮助,我是个初学者,还没有学到你们说的东西,不过我还是看懂了,觉得VB很好玩的,以后还得请高手多多指教.---没有想到这个论坛这么快就回复了我的问题,不错,不错的地方! :)Top




