Visual Basic.net中的Active X控件阻止键盘事件

时间:2015-07-23 13:35:56

标签: vb.net keydown

我在visual basic 2010表单中有vlc AxVLCPlugin21控件,我已将其设置为 每当我点击空格键时,能够识别暂停视频或音乐。 下面的代码在显示Windows窗体并且vlc控件显示时工作并暂停介质 不是全屏。然而,当我使用vlc全屏并点击空格键时,媒体不再 暂停。我认为全屏模式会导致Windows窗体keydown事件被阻止。

我不确定我可以尝试解决这个问题。我知道Windows窗体有一个下面列出的previevkeydown事件 并且vlc控件本身有自己的previewkeydown事件。但不确定我可能会尝试暂停 在全屏模式下按空格键时工作。任何想法都赞赏。我经常这样 让按键与VB中的程序一起工作的问题。是因为不同的控制取决于控制 在各种设置?

我还在表单加载中使用Me.KeyPreview = True,这可能会强制窗口表单优先于击键。

我尝试但另一个不起作用的另一个想法是使用e.Handled = True keydown事件,据说使表单采取所有键盘事件和 不允许其他控件接收它们。没有全屏工作。

Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown

        If e.KeyValue = Keys.Space Then
            AxVLCPlugin21.playlist.togglePause()
        End If

End Sub



Private Sub Form1_PreviewKeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles MyBase.PreviewKeyDown

End Sub

Private Sub AxVLCPlugin21_PreviewKeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles AxVLCPlugin21.PreviewKeyDown

End Sub

0 个答案:

没有答案