2016-11-14 78 views
0

我收到了这个错误,我知道这是因为您无法将标签与按键链接,但我想知道如何让这些按键仅在您'在指定的选项卡上(这是默认选项卡,因此您可以从中启动) Page1是我的选项卡的名称。 Here's an image of what that looks like发生类型为'System.InvalidCastException'的未处理的异常

而且这里是我到目前为止,它的触发我的错误:

Private Sub CaseKeysPage1(sender As Object, e As KeyEventArgs) Handles Page1.Enter 
    Select Case e.KeyCode 
     Case Keys.Q 
      My.Computer.Audio.Play(My.Resources.How_are_you, AudioPlayMode.Background) 
    End Select 
End Sub 

任何帮助,不胜感激!

+0

出现你的错误,因为'Enter'事件不会发送'KeyEventArgs'.Try使用'Page1.KeyDown '事件,而不是'Page1.Enter' – Misery

+0

这是我原来的按钮代码,但遗憾的是没有page1.KeyDown,而是Page1.PreviewKeyDown,它有一个错误。在继续这个错误的同时进行编译时,它会抛出与以前完全相同的错误。 http://imgur.com/a/g2NuM - 错误。 – Ethorbit

+0

要使用'Page1.PreviewKeyDown'you必须改变你的方法定义,特别是'e作为PreviewKeyDownEventArgs',让我知道它是否有帮助。 – Misery

回答

0

答案是从苦难的评论

To use Page1.PreviewKeyDown you must change your method definition, especially e As PreviewKeyDownEventArgs, let me know if it helps.

因此我的代码更改为

Private Sub Page1_PreviewKeyDown(sender As Object, e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles Page1.PreviewKeyDown 
    Select Case e.KeyCode 
     Case Keys.Q 
      My.Computer.Audio.Play(My.Resources.How_are_you, AudioPlayMode.Background) 
    End Select 
End Sub 
相关问题