有关"ENTER"键的有关问题

有关"ENTER"键的问题
不管我按住ENTER多久,显示总是一会.等于我按了一次.这样的代码有么.


------解决方案--------------------
Private blFlag As Boolean
Private Sub Form_KeyPress(KeyAscii As Integer)
If Not blFlag Then
If KeyAscii = 13 Then
blFlag = True
MsgBox ( "Enter ")
End If
End If
End Sub
------解决方案--------------------
为何不行??
------解决方案--------------------
当我在一次按 'ENTER '键的时候不弹出MSGBOX
-----------------------------
楼主你是怎么写?这个我都测试过没问题,第一次可以弹出msgbox
------解决方案--------------------
窗体和按钮不同,按钮是不支持ENTER的
你按ENTER不产生KEYDOWN等事件!直接等于CLICK
------解决方案--------------------
他要的是在COMMAND上,我也在愁哦,!!T2今年最佳新绣就是你我,我们看好你,哈哈
------解决方案--------------------
我还最佳新秀,呵呵
我都在CSDN混了7年了还没混颗星星
------解决方案--------------------
不管我按住ENTER多久,显示总是一会.等于我按了一次.这样的代码有么
---------------------------


键盘的 按下事件 和放开事件 配合使用 就可以达到你要的效果!

比如计算你按下键盘多少时间的一个程序!

按下: timer1开始记时 放开timer1停止记时 代码计算所以用时间 msgbox 出

*******************
总结来说就是在键keyup 事件里写代码 .
------解决方案--------------------
keydown 事件中:
static k as integer
if keycode= vbKeySeparator then
执行代码
msgbox "程序等待10秒 ",1, "提醒 "

delay 10

end sub
在模块写个通用过程
sub delay(dtime as single)
dim begin
begin=timer
do while timer <begin+dtime
doevents
loop
end sub
------解决方案--------------------
还有个方法,
就是在keydown事件末尾加:
(任何可以获得焦点的控件)[text1.setfocus]

------解决方案--------------------
如果这样就需要使用键盘信息拦截了
Declare Function SetWindowsHookEx Lib "user32 " Alias _
"SetWindowsHookExA " (ByVal idHook As Long, ByVal lpfn As Long, _
ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Declare Function UnhookWindowsHookEx Lib "user32 " _
(ByVal hHook As Long) As Long
Declare Function CallNextHookEx Lib "user32 " (ByVal hHook As Long, _
ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long