若是限制只输入数字或字母可以在keypress事件中限制。
但你的情况不是,我觉得你可以在lostfocuse事件中进行判断,不在范围的话清空文本框。
但你的情况不是,我觉得你可以在lostfocuse事件中进行判断,不在范围的话清空文本框。
解决方案 »
- 关于vb查询SQL server2000中表是否存在的问题
- 如何不 Close 本文档又可以真正写档 (無緩存)
- 能否自己构建表单,post到服务器以实现自动填表?
- 我在PictureBox中放上了一个标签label1,但保存为图像时只保存了PictureBox中的图像内容,标签内容无法连同PictureBox控件的内容一起保存,谁有办法解决?
- VB的工控控件?
- webbrower的小问题 80分相送!不够可以再加!
- VB自定义控件中的子控件的Visible属性怎么公开?
- DataCombo控件怎么和ADO数据库对象绑定?(在线等)
- 对vb源代码进行格式化处理,使之美观,好看
- odbc 与oledb 的区别在哪里。请详细说明一下
- GROUP BY 简单小问题
- 在vb 中实现用对数坐标来画函数图象
Private Sub OnlyInputDecimal(KeyAscii As Integer)
If Chr(KeyAscii) Like "[0-9]" _
Or Chr(KeyAscii) Like "[.]" _
Or KeyAscii = vbKeyBack Then
Else
KeyAscii = 0
End If
End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)
Call OnlyInputDecimal(KeyAscii)
End SubPrivate Sub Text1_Validate(Cancel As Boolean)
On Error Resume Next
If Text1.Text = "" _
Or CInt(Text1.Text) < 0.0001 _
Or CInt(Text1.Text) > 10000 Then
Cancel = True
End If
End Sub
不过,为什么不使用掩码编辑框?
通常做法是一个框设定一个标志,只要有一个Text框数据不合法,迁移到的控件就不做自己数据的合法性检测了,如果界面上有10来个这样的框的话,那就更麻烦了
在Validate事件里就能够很好的解决这个问题。
Private Sub Text1_Validate(Cancel As Boolean)
On Error Resume Next
If Text1.Text = "" _
Or CDec(Text1.Text) < 0.0001 _
Or CDec(Text1.Text) > 10000 Then
Cancel = True
End If
End Sub