Comment pouvez-vous faire défiler vers la fin d'un System.Windows.Forms.WebBrowser par programmation?Comment faire défiler jusqu'à la fin de System.Windows.Forms.WebBrowser?
Répondre
ctlWebBrowser.Document.Body.ScrollIntoView(false);
Le paramètre booléen pour ScrollIntoView() est vrai pour aligner la barre de défilement avec le haut du document, et faux pour aligner la barre de défilement au bas du document.
documentation MSDN ici: HtmlElement.ScrollIntoView
Quand je n'avais pas la fin élément corps, cela a fonctionné pour moi (VB.NET):
WebBrowser1.Document.Body.All(WebBrowser1.Document.Body.All.Count - 1).ScrollIntoView(False)
Je mise DocumentText
propriété du contrôle WebBrowser
(avec les balises HTML et corps) et la méthode Document.Body.ScrollIntoView(false)
n'a pas fonctionné pour moi, mais cela fonctionne:
private void ScrollToBottom()
{
// MOST IMP : processes all windows messages queue
Application.DoEvents();
if (webBrowser1.Document != null)
{
webBrowser1.Document.Window.ScrollTo(0, webBrowser1.Document.Body.ScrollRectangle.Height);
}
}
source: http://kiranpatils.wordpress.com/2010/07/19/webbrowsercontrol-scroll-to-bottom/
wb1.Navigate("javascript:window.scroll(0,document.body.scrollHeight);")
Ajoutant à la réponse de ce user2349661 est le même pour C#:
WebBrowser1.Document.Body.All[WebBrowser1.Document.Body.All.Count -1].ScrollIntoView(False)
N.B. aurait ajouté comme un commentaire mais je n'ai pas assez de points!
En utilisant javascript crée-à-dire les problèmes de sécurité
webBrowser.Navigate("javascript:window.scroll(...);")
Il est préférable d'utiliser un appel direct comme
webBrowser.Document.Window.ScrollTo(...)
l'intérieur d'un événement rempli de document serait une bonne option:
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.DocumentCompleted += WebBrowser1_DocumentCompleted;
webBrowser1.Navigate("http://stackoverflow.com/questions/990651/how-to-scroll-to-end-of-system-windows-forms-webbrowser");
}
private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser browser = sender as WebBrowser;
browser.Document.Body.ScrollIntoView(false);
}
- 1. WebBrowserControl Faire défiler jusqu'à la fin
- 2. Javascript pour faire défiler jusqu'à la fin
- 3. Comment faire défiler correctement CEdit?
- 4. Comment faire défiler les blocs de matrice?
- 5. Zoomer/faire défiler jusqu'à
- 6. Comment faire défiler manuellement un panneau?
- 7. Comment faire défiler en douceur dans UIScrollView?
- 8. Comment utiliser jquery pour faire défiler horizontalement
- 9. Href = "#" Ne pas faire défiler
- 10. Comment faire défiler Swing avec "ensureIndexIsVisible"?
- 11. Comment faire pour faire défiler un RichTextBox vers le bas?
- 12. Besoin de faire défiler une grille WPF
- 13. Faire défiler une liste avec la page haut/bas
- 14. Comment faire défiler "infiniment" vue large dans Android?
- 15. comment faire défiler asp.net zone de texte vers le bas
- 16. Comment savoir quand j'ai arrêté de faire défiler un TScrollBar?
- 17. Comment faire défiler la fenêtre à l'aide de la fonction $ .scrollTo() de JQuery
- 18. Impossible de convertir de 'System.Windows.Forms.WebBrowser' à 'ExtendedWebBrowser'
- 19. Visual Studio: faire défiler les points d'arrêt
- 20. Comment créer une sous-vue UIView Ne pas faire défiler
- 21. Comment faire défiler en douceur le composite SWT?
- 22. Comment puis-je faire défiler une plage d'adresses IP?
- 23. Comment forcer un arbre XUL à faire défiler du code?
- 24. Impression avec le contrôle System.WIndows.Forms.WebBrowser
- 25. Comment faire défiler jusqu'à un élément après l'expansion avec slideToggle?
- 26. Comment faire défiler des jetons délimités avec une expression régulière?
- 27. jscrollpane pour faire défiler un panneau
- 28. Comment faire défiler jusqu'à un élément à l'intérieur d'une div?
- 29. comment faire défiler vers le bas la zone de texte de chat dans asp.net C#
- 30. Dans OpenGL ES sur iPhone, comment faire défiler deux images?
Mais rappelez-vous que le HTML chargé dans 'WebBrowser' doit contenir la balise' Body'. Et si vous souhaitez le faire juste après le chargement du contenu dans l'instance 'WebBrowser', le mieux est d'utiliser l'événement' Navigated', par exemple: webBrowser1.Navigated + = (s1, e1) => {if (webBrowser1 .Document.Body! = Null) webBrowser1.Document.Body.ScrollIntoView (false); } – infografnet