启动下列程序,在窗体上按功能键F1,输出结果为_____.

PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)Print"F1Down";EndSubPrivateSub... Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Print "F1 Down";
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
Print "F1 Press";
End Sub
为什么输出结果为F1 Down?
展开
 我来答
yangyingjun999
2011-02-14 · TA获得超过1230个赞
知道小有建树答主
回答量:782
采纳率:0%
帮助的人:404万
展开全部

发生KeyPress同时还发生KeyDown和KeyUp,KeyPress是在KeyDown后发生,KeyUp最后发生,这就是这三个的发生顺序。把代码放在什么事件中,是个大学问。这在你想拦截一个按键时,有必要考虑。

所以,你说“为什么输出结果为F1 Down?”,不应该只输出这一个,你的代码应该是按照以下顺序输出两个才对:

第一行显示:F1 Down

第二行显示:F1 Press 

你可以自己试验啊,将以下代码复制到默认窗体form1代码框中看看就知道了,为什么是这个顺序,那是没有理由的,vb开发平台就是这样规定的:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

      Print "F1 Down"

End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

      Print "F1 Up"

End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)

      Print "F1 Press"

End Sub 

***********************************************************************

你说你还是不行,我刚刚将上述代码复制到form1代码中运行结果给你看看吧(图):

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式