J'ai incorporé WebBrowser de .NET dans un formulaire qui a d'autres boutons.Comment se fait-il que mon code fonctionne quand j'utilise un MessageBox.Show() entre et ne fonctionne pas sans cela?
L'application que je développe n'utilise pas de clavier, mais utilise un écran tactile. Donc, il n'utilise réellement que la souris. Pour faire défiler le webbrowser vers le bas, j'ai fait deux boutons personnalisés. Lorsque je clique sur ces boutons, il devrait envoyer un coup de clé "PageDown" au navigateur, et le navigateur devrait faire défiler vers le bas.
Ainsi, le code de l'événement click est comme suit:
theForm.Activate();
Application.DoEvents();
theBrowser.Focus();
Application.DoEvents();
SendKeys.Send(key);
Où theForm 'est la forme et 'theBrowser' est l'instance du navigateur.
Donc quand je clique sur le bouton, rien ne se passe. Lorsque je clique sur le navigateur, puis sur le bouton, cela fonctionne. Mais je suis en train de me concentrer, n'est-ce pas? Et j'ai donné à l'application suffisamment d'espace pour définir le focus?
Mais maintenant, ce que je pense est étrange. Quand je mets un MessageBox.Show ("BONJOUR"); dans le code, comme ceci:
theForm.Activate();
Application.DoEvents();
theBrowser.Focus();
MessageBox.Show("HELLO");
Application.DoEvents();
SendKeys.Send(key);
... ça ne fonctionne quand je clique immédiatement le bouton.
& nbsp
La question est: Pourquoi ce code fonctionne pas quand je quitte le MessageBox.Show(), mais fait quand j'utilise le MessageBox.Show()?
Espoir vous pouvez aider, merci à l'avance ...
Même si je laisse une page complètement chargée, la même chose se produit ... – Folkert