J'ai besoin de capturer tous les événements de la souris sur un WebBrowser .NET, les traiter et empêcher le WebBrowser de les obtenir. Y'a-t-il une quelconque façon de réussir cela? Je me demande si je peux gérer les événements de la souris si le contrôle est désactivé.Comment est-ce que je peux piéger tous les événements de souris sur un contrôle?
Répondre
Vous devrez remplacer WndProc() pour intercepter les messages de la souris. Comme ceci:
using System;
using System.Windows.Forms;
class MyBrowser : WebBrowser {
protected override void WndProc(ref Message m) {
if (m.Msg >= 0x200 && m.Msg <= 0x20a) {
// Handle mouse messages
//...
}
else base.WndProc(ref m);
}
}
une liste (non exhaustive) des messages Windows peut être trouvée ici http://www.autohotkey.com/docs/misc/SendMessageList.htm – Filip
Il existe une solution à cela. Vous devez capturer les événements de souris associés à l'objet Document associé au contrôle webBrowser.
Après l'événement DocumentCompleted se produit, et à l'intérieur vous gestionnaire d'événements DocumentCompleted, procédez comme suit:
myWebBrowser.Document.MouseDown += new HtmlElementEventHandler(myMouseDown);
et que le gestionnaire connexe:
void myMouseDown(object sender, HtmlElementEventArgs e)
{
your code to handle the mouse event... such as ...
if (e.MouseButtonsPressed == MouseButtons.Right)
{
}
}
Celui-ci a sauvé ma journée. – yyoon
- 1. Pourquoi est-ce que je ne peux pas piéger un clic de souris dans IE?
- 2. wxpython lier les événements de souris à tous les panneaux?
- 3. Comment puis-je capturer tous les événements de la souris dans un JFrame/Swing?
- 4. Track (tous) les événements d'un contrôle
- 5. Événements de souris sur JPanel
- 6. Comment est-ce que je peux faire défiler des événements de mouseover de déclenchement de page?
- 7. annuler les événements souris
- 8. Je cherche un moyen de piéger les instructions CPUID
- 9. Attraper les événements souris d'un contrôle contenu dans un contrôle utilisateur
- 10. Comment est-ce que je peux attraper les événements de simple-clic et de double-clic sur WPF FrameworkElement?
- 11. Comment exécuter une fonction lorsque je passe la souris sur tous les événements de survol dans jQuery?
- 12. Comment puis-je capturer tous les événements de souris dans un widget descendant d'un widget Qt dans PyQt?
- 13. C#: Comment suivre les événements de souris sur des graphiques non rectangulaires dessinés sur un panneau?
- 14. Comment puis-je attraper les événements de glisser de la souris dans un widget Dashcode?
- 15. différence dans les événements de souris sur img/div
- 16. Événements de contrôle retardés
- 17. Comment est-ce que je peux modifier un tableau pendant que je l'itère sur Ruby?
- 18. Comment puis-je implémenter un OutputStream que je peux rembobiner?
- 19. Puis-je accrocher et piéger les événements qui se produiront dans le processus Android?
- 20. Attraper des événements de souris pour un SplitContainerDesigner personnalisé
- 21. Comment est-ce que je peux attraper un symbole que l'utilisateur est frappé sur le clavier?
- 22. Comment puis-je transférer les événements de la souris vers un autre élément?
- 23. Comment intercepter tous les événements jquery ajax?
- 24. Rendre un contrôle "transparent" pour cliquer sur les événements
- 25. richfaces comment détecter les événements de la souris
- 26. Les événements souris de scala fonctionnent-ils? Comment?
- 27. Comment puis-je appuyer sur un JButton swing en utilisant des événements souris?
- 28. Tous les exemples de projets autonomes ehcache que je peux télécharger?
- 29. Comment positionner la souris sur un certain contrôle
- 30. Catch/Intercept tous les clics de souris
Si vous utilisez WPF, vous pouvez jeter Toile transparente au-dessus du contrôle WebBrowser et tout simplement attraper tous les événements avec le canevas ... Winforms est une histoire différente, cependant. –
Dupliquer? http://stackoverflow.com/questions/3268619/catching-a-contained-controls-mouse-events-in-a-usercontrol –
cela lit un peu bizarre que vous les ignoriez? Pourquoi passer par le problème si vous piègez des événements si vous n'avez aucun désir réel de faire quelque chose avec eux? Ignore les??? – IbrarMumtaz