首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

关于回车键只能一次次响应的有关问题

2012-01-19 
关于回车键只能一次次响应的问题请问:如何才能在command按钮上像click事件那样一次次的响应回车键,而不是

关于回车键只能一次次响应的问题
请问:如何才能在command按钮上像click事件那样一次次的响应回车键,而不是按住enter时一直不停的响应enter。


[解决办法]
我这里有一个办法,很笨但是有效
同志们别笑话我就可以了
在窗体上放一个多余的文本框text2,把它放到一个看不到的地方藏起来,比如left=-1000,或者藏在按钮下面,让这个文本框来吸收连续的回车。
Private Sub Command1_Click()
Print "Command1_Click "
Text2.SetFocus
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0
End If
End Sub
Private Sub Text2_KeyUp(KeyCode As Integer, Shift As Integer)
Command1.SetFocus
End Sub
[解决办法]
我来提供一个方法,不过还要改进一下希望谁来解决一下
Option Explicit
Private Declare Function GetCurrentTime Lib "kernel32 " Alias "GetTickCount " () As Long
Dim xx As Long

Private Sub Command1_Click()
Dim yy As Long
yy = GetCurrentTime()
If Abs(yy - xx) > 50 Then
Text1.Text = Text1.Text + 1
End If

xx = GetCurrentTime()
End Sub

Private Sub Form_Load()
xx = GetCurrentTime()
End Sub
思路是按住键不放的话,前后运行的两次时间差不会超过50MS
所以根据此思路提供以上代码!不过经过测试,按住ENTER不放,将执行2次++,这个是我一直搞不明白的事情,按照理论也是只执行一次!希望谁来解析一下.

热点排行