希望控制text1中只能输入数字0-9,
Private Sub text1_keypress(KeyAscii As Integer)
Dim bOK As Boolean
If KeyAscii>=Asc("0") And KeyAscii<=Asc("9") Then
bOK=Val(text1&Chr(KeyAscii))<1 or Val(text1&Chr(KeyAscii))>10
if bOK Then
Msgbox "Error"
End If
End If
End Sub
================================================
搞不明白的地方是"Val(text1&Chr(KeyAscii))",请高手解答,为什么不可以直接用"Val(Chr(KeyAscii))"
Private Sub text1_keypress(KeyAscii As Integer)
Dim bOK As Boolean
If KeyAscii>=Asc("0") And KeyAscii<=Asc("9") Then
bOK=Val(text1&Chr(KeyAscii))<1 or Val(text1&Chr(KeyAscii))>10
if bOK Then
Msgbox "Error"
End If
End If
End Sub
================================================
搞不明白的地方是"Val(text1&Chr(KeyAscii))",请高手解答,为什么不可以直接用"Val(Chr(KeyAscii))"
解决方案 »
- 想在程序中加入一个视频 调用WindowsMediaPlayer
- 如何建立与Windows media player 中播放列表类似的列表框
- 如何实现下面的操作,请高手帮忙,谢谢
- 登录窗体
- 怎么在VB中调用SQL里的存储过程。(带参数的)(向高用请教)
- 关于DLL调用的问题.
- 小弟有简单问题
- 如何用vb编写收发邮件的代码!急,在线等待!
- 用EXCEL中的页面资料,覆盖ACCESS中的表的记录。
- 如何创建反色的brush
- 高分求救ActiveBar问题,见:http://community.csdn.net/Expert/topic/3347/3347837.xml?temp=.9804041(总分:100,含本贴)
- 对另一程序的操作!~
bOK=Val(text1&Chr(KeyAscii))<1 or Val(text1&Chr(KeyAscii))>10
如果输入的值与文本框组合成的数字小于1或大于10的时候就报错.
Case Asc("0") to Asc("9")
Case Esle
MsgBox "Error"
KeyAscii=0'吃掉它
End Select
发生KeyPress事件时还没有将KeyAscii加到Text上是什么意思?
那如果我用鼠标先将text1中的内容先选中,然后再输入数值会怎么样呢?
-----------------------------------------------------
就是这个时候你打进去的字符还没有被显示到控件中。在keypress事件中被截获了,因为需要对他进行筛选,只有符合条件的字符允许被显示到控件中.
-------------------------------------------------------------
效果一样。
结果Val(text1&Chr(KeyAscii))的值是不是等于51?