0

因此,我查看了有关 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 控件中,我所做的一切都是从它开始设置,然后放在最后,在中间,我所做的一切都被复制并粘贴了以下内容......

    <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

4

2 回答 2

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
于 2013-01-13T19:36:40.687 回答
1
wb1.Navigate("javascript:window.scroll(0,document.body.scrollHeight);")
于 2013-09-29T10:53:15.637 回答