回 帖 发 新 帖 刷新版面

主题:为什么这两段程序一个可以,另一个不行

我编程时写了以下语句:

Private Sub Form_KeyPress(KeyAscii As Integer)
    If KeyAscii = 115 Then
    Picture1.Picture = Picture2.Picture
    End If
End Sub

但是运行时按s键没有反应,而下面这段语句却可以执行:

Private Sub Command1_Click()
    Picture1.Picture = Picture2.Picture
End Sub

求指点。

回复列表 (共5个回复)

沙发

感谢分享,有个图就更好了

板凳

If KeyAscii = 115 Then
……
End If
的意思,你知道吧?
还有115是那个按键的代码,你知道吗?

3 楼

终于弄懂了,原来控件键盘事件优先于窗体键盘事件,而我这段程序是对窗体写的,按s键执行的是控件的代码,所以没反应。多谢!

4 楼

form1.KeyPreview 设定

5 楼

[quote]form1.KeyPreview 设定[/quote]
如果把窗体的KeyPreview属性设为True,那么窗体将比其内的控件优先获得键盘事件的激活权。

这个解释就很清晰

我来回复

您尚未登录,请登录后再回复。点此登录或注册