所以我看了stackoverflow上的其他几篇帖子,但似乎没有一个能让我完成这个任务。我想要做的就是让WebBrowser控件在我在webbrowser1.documenttext属性中以编程方式更改内容后自动向下滚动到底部。
我已经尝试了以下所有方法,并且它们都没有工作......我实际上将它们完全放在完全相同的代码行中。
WebBrowser1.ScrollBarsEnabled = True
WebBrowser1.Document.Body.ScrollIntoView(False)
WebBrowser1.Document.Window.ScrollTo(New Point(WebBrowser1.Height, WebBrowser1.Height))
WebBrowser1.Document.Window.ScrollTo(WebBrowser1.Height, WebBrowser1.Height)
WebBrowser1.AutoScrollOffset = New Point(WebBrowser1.Height, WebBrowser1.Height)
在我的WebBrowser1控件中,我所做的一切都是设置启动它然后在最后放置和中间所有我已经完成复制'n粘贴以下...
<html><body>
<div style="color: red;">blah blah</div><Br />
<div style="color: red;">blah blah</div><Br />
<div style="color: red;">blah blah</div><Br />
<div style="color: red;">blah blah</div><Br />
<div style="color: red;">blah blah</div><Br />
<div style="color: red;">blah blah</div><Br />
<div style="color: red;">blah blah</div><Br />
<div style="color: red;">blah blah</div><Br />
<div style="color: red;">blah blah</div><Br />
<div style="color: red;">blah blah</div><Br />
<div style="color: red;">blah blah</div><Br />
<div style="color: red;">blah blah</div><Br />
</body></html>
大约30次......但我无法得到任何工作。上面的代码都没有做任何事情。
我错过了什么?
VS 2005 SP1 - VB.NET
答案 0 :(得分:1)
您的问题可能是您在更新之前尝试访问DOM。触发代码以在DocumentCompleted事件中将正确的元素滚动到视图中,如下所示:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
WebBrowser1.DocumentText = <html><body>
<div style='color: red;'>blah blah</div><Br/>
<div style='color: red;'>blah blah</div><Br/>
<div style='color: red;'>blah blah</div><Br/>
<div style='color: red;'>blah blah</div><Br/>
<div style='color: red;'>blah blah</div><Br/>
<div style='color: red;'>blah blah</div><Br/>
<div style='color: red;'>blah blah</div><Br/>
<div style='color: red;'>blah blah</div><Br/>
<div style='color: red;'>blah blah</div><Br/>
<div style='color: red;'>blah blah</div><Br/>
<div style='color: red;'>blah blah</div><Br/>
<div style='color: red;' id="lastElement">blah blah</div><Br/>
</body></html>.ToString()
End Sub
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Dim lastGuy= WebBrowser1.Document.GetElementById("lastElement")
If lastGuy<> Nothing Then
lastGuy.ScrollIntoView(True)
End If
End Sub
答案 1 :(得分:1)
wb1.Navigate("javascript:window.scroll(0,document.body.scrollHeight);")