2010-02-05 4 views
2

J'ai besoin d'attraper des touches dans mon programme C# qui contient un contrôle WebBrowser.Catch keypresses in C#

Je sais comment le faire s'il n'y a pas de contrôles sur le formulaire ou si j'utilise une zone de texte ou similaire, mais le contrôle WebBrowser semble gérer lui-même toutes les touches.

Existe-t-il un moyen de remplacer la fonction WebBrowser_KeyDown?

+3

vous voulez des mots de passe hein? – jinsungy

+0

Non J'essaie de faire un programme pour prendre des captures d'écran de pages Web. Donc, je veux déclencher la fonction de capture d'écran lorsque l'utilisateur appuie sur une touche. – MrMe

Répondre

3

Définissez la propriété KeyPreview sur le Form True:

http://msdn.microsoft.com/en-us/library/system.windows.forms.form.keypreview.aspx

+0

Cela ne fonctionnait pas lorsque j'utilisais le contrôle WebBrowser. Id a cependant bien fonctionné lors de l'utilisation d'une boîte d'image .. Merci quand même. – MrMe

+0

Strange votre chemin fonctionne si je supprime le focus de mon programme et le remettre au point. Mais si je le fais à nouveau (se concentrer sur autre chose et ensuite sur mon programme) ça arrête de fonctionner ... Étrange, mais au moins quelque chose à travailler. Merci! – MrMe

+0

Je dirais que quelque chose d'autre que l'instance de votre navigateur a le focus. – kenny