【问题标题】:vb.net webbrowser navigate to url contained in richtextboxvb.net webbrowser 导航到 Richtextbox 中包含的 url
【发布时间】:2018-04-28 08:58:51
【问题描述】:

我有一个包含 URL 和 webborwser 和一个按钮的富文本框。我希望每次按下按钮时,我的网络浏览器都会导航到每个 URL(逐行一个 URL)。 这是我的代码:

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        For i As Integer = 0 To RichTextBox1.Lines.Count - 1
            WebBrowser1.Navigate(RichTextBox1.Lines(i))
        Next
End Sub

我的问题:似乎网络浏览器直接导航(导致其他 URL 加载太快)到富文本框中包含的最后一个网站... 如何让我的网络浏览器等待按钮被点击以导航到下一个 URL?

【问题讨论】:

  • 我也试过了:'code' Dim i As Integer = 0 WebBrowser1.Navigate(RichTextBox1.Lines(i)) i = i + 1
  • 如果您只想在单击Button 时导航到一个 URL,那么不要编写代码来导航到每个 URL。一个循环显然会导航到每个 URL。摆脱循环。您需要记住要导航到的行的索引并每次递增。这就是变量的用途。
  • 方法中的变量没有帮助,因为当方法完成时它不再存在。方法调用之间需要记住数据的变量通常放在哪里?
  • 确切地说,Static 局部变量可以工作,但我建议完全远离 Static 变量。
  • 感谢@jmcilhinney

标签: vb.net url webbrowser-control richtextbox


【解决方案1】:
Public Shared i As Integer = 0

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
             WebBrowser1.Navigate(RichTextBox1.Lines(i))
        i = i + 1
    End Sub

再次感谢@jmcilhinney

【讨论】:

  • 如果你把它保存在外部 Button2_Click,则不需要将变量标记为Shared。如果您想将值保留在表单的任何实例中(或完全在表单之外),您只想将其标记为 Shared
  • jmcilhinney 所指的是将变量逐字声明为Static inside Button2_Click: Static i As Integer = 0(参见:@987654321 @)。不过你的方法更好。
猜你喜欢
  • 1970-01-01
  • 2018-09-12
  • 2013-07-02
  • 1970-01-01
  • 2014-01-01
  • 2019-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多