Das WebBrowser-Steuerelement hat meiner Meinung nach einen Fehler, es feuert zweimal, egal was. Ich habe das Problem durch einen Hack gelöst, aber es funktioniert :) Mines in VB, aber Sie erhalten die Quintessenz davon, im Grunde machen ein bool in Ihrem Formular Umfang und verwenden Sie es, um eines der beiden Ereignisse, die abgefeuert werden zu negieren:
Private _skipPreviewKeyDown As Boolean = False
Private Sub WebBrowser1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles WebBrowser1.PreviewKeyDown
If _skipPreviewKeyDown = True Then
_skipPreviewKeyDown = False
Exit Sub
Else
_skipPreviewKeyDown = True
End If
'Select Case e.KeyDa
MsgBox(e.KeyValue)
End Sub