如何设计文本框的语法检查比如说 要求输入文本必须为数字
Private Sub Text1_KeyPress(KeyAscii As Integer) '限制textbox只能输入数字
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyDecPt Or KeyAscii = vbKeyBack Then
Exit Sub
ElseIf KeyAscii = vbKeyReturn Then
Call Command1_Click
Else
KeyAscii = 0
End If
End Sub
。
。
一楼和二楼的都可以!
Private Sub Text1_change '如果不是数字就出现提示。 If Not IsNumeric(Text1) And Text1 <> "" Then MsgBox ("请输入数字!") End If End Sub
楼上的学长,如果用菜单的粘贴怎么办呢,那字母不又进去了?还有小数点和删除呢?
如果要过滤的话需要在text1_change里也加上判断,那样的话就会减慢程序的速度,用text不是一个好的方法。
我这样说一句:windows中的计算器用的不是一个文本框而是label。 你一定会奇怪,但你仔细观察,或者用程序获取它的类,就会发现塔是一个无窗体控件(label是没有窗口的)。
这种模拟很简单,你看一下我的例子,其实不要总是向着一个固定的方向去想,多试试其他的想不到的东西。
其实最好还是自己定义一个用户控件,用起来也方便也大方。
'这样就只能写数字了. Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii 57 Then KeyAscii = 0 End Sub