Gestion des événements de touche sur le contrôle WebBrowser
Je suis en utilisant le WebBrowser
de contrôle dans une application C# et souhaitez gérer tous les événements de touche, tandis que le WebBrowser
a le focus, peu importe ce que chaque élément de contenu (champ de saisie, lien, etc.) est concentré. J'ai essayé de simplement ajouter un gestionnaire d'événements pour les contrôles du navigateur KeyDown
événement, mais cela ne fonctionne pas. Je ne veux pas explicitement crochet un gestionnaire pour chaque focusable HtmlElement
.
Comment puis-je recevoir tous les événements clés avant qu'ils sont passés à l'navigateur ou de ses éléments de contenu?
OriginalL'auteur Tony the Pony | 2009-03-16
Vous devez vous connecter pour publier un commentaire.
vous avez le PreviewKeyDown événement juste de le brancher.
WebBrowserShortcutsEnabled
est fixé àFalse
OriginalL'auteur balexandre
Si vous voulez faire quelque chose comme contourner la touche Entrée dans le contrôle WebBrowser vous êtes hors de la chance car il n'y a pas de pression de Touche ou les événements KeyDown pour le contrôle. KeyPreviewDownEventArgs ne fournit pas un moyen de contourner une pression sur une touche. La seule façon de le faire est d'annuler la ProcessCmdKey fonction de la forme qui héberge le contrôle. Par Exemple:
OriginalL'auteur nuander
Vous pouvez ajouter des principaux gestionnaires de l'élément de Corps du document chargé. Par défaut, il attrape le même événement survenant dans tout élément enfant de l'élément de corps.
Je pense que le gestionnaire doit être ajouté après le document est chargé, par exemple, dans le DocumentCompleted gestionnaire d'événement.
OriginalL'auteur JonP