我正在vb.net中使用WebKitBrowser。它不是触发keydown事件,但预览keydown工作正常。有人能告诉我发生了什么事吗?

我正在vb.net中使用WebKitBrowser。它不是触发keydown事件,但预览keydown工作正常。有人能告诉我发生了什么事吗?,vb.net,webkit,Vb.net,Webkit,这是我的密码: Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load WebKitBrowser1.Focus() End Sub Private Sub WebKitBrowser1_KeyDown(sender As Object, e As KeyEventArgs) Handles WebKitBrowser

这是我的密码:

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        WebKitBrowser1.Focus()
    End Sub

    Private Sub WebKitBrowser1_KeyDown(sender As Object, e As KeyEventArgs) Handles WebKitBrowser1.KeyDown
        MessageBox.Show("keydown")
    End Sub

    Private Sub WebKitBrowser1_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles WebKitBrowser1.PreviewKeyDown
        MessageBox.Show("preview key down")
    End Sub

End Class

这是一个全球问题的答案,当您预期按键事件升高时,可能会发生

某些按键(如TAB键、RETURN键、ESC键和箭头键)不可用 通常被某些控件忽略,因为它们未被考虑 按输入键。例如,默认情况下,按钮控件忽略 箭头键。按箭头键通常会使焦点消失 移动到上一个或下一个控件。考虑使用箭头键 导航键和按下这些键通常不会升起 按钮的KeyDown事件。但是,按箭头键可进行以下操作: 按钮不会引发PreviewKeyDown事件。通过处理 按钮的PreviewKeyDown事件并设置IsInputKey属性 若要设置为true,则可以在按下箭头键时引发KeyDown事件 按下。但是,如果您使用箭头键,焦点将不显示 长时间移动到上一个或下一个控件

阅读有关MSDN的完整讨论:

此外,在jQuery和其他库及扩展中,您应该阅读文档,然后决定选择事件、方法等。我认为如果是event1(例如PreviewKeyDown事件) 为我工作(当然我必须检查可能发生的不同场景),与我将使用的event2(例如KeyDown事件)相比,不会出现不必要的问题或降低效率


希望能得到帮助。

谢谢您的回复,但它不适用于输入键。@Ankusagrawal请详细解释。PreviewKeyDown事件对您不起作用吗?在巫婆的情况下?在什么输入键中?PreviewKeyDown事件对所有键都正常工作,但KeyDown事件对任何键都不起作用。@AnkushAgrawal那么为什么不使用PreviewKeyDown呢?如果你的问题只是好奇地想知道在击键过程中发生了什么,因为击键不起作用,预览击键起作用,我回答了,你可以阅读链接来理解原因。如果是,请接受作为答案。