【问题标题】:How can I make the textbox say the URL of the webpage that the web browser is currently on?如何让文本框说出网络浏览器当前所在网页的 URL?
【发布时间】:2019-01-06 09:15:02
【问题描述】:

我希望TextBox 显示网络浏览器当前所在网页的 URL。下面显示的代码似乎没有解决我的问题。

当我通过调用 WebBrowser1.GoBack() 导航到上一页时,TextBox 没有改变

真诚感谢您的帮助!

我试过了:

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
  TextBox1.Text = WebBrowser1.Url.ToString()
End Sub

【问题讨论】:

  • 请改用WebBrowser.DocumentCompleted event。每当页面完成加载时都会触发它。还有WebBrowser.Nagivated event,只要它成功连接到一个站点(但还没有完成整个页面的加载 - 仍然可以访问 URL),就会触发它。
  • 欢迎来到 SO! Vincent 和 ajakblackgoat 的答案是正确的。您在接受的答案中没有看到 URL 更改的原因是因为 GoBack 方法异步运行(在不同的线程上)。在WebBrowser 控件可以更改其URL 之前,Button1.Click 事件处理程序中的代码会传递到您的TextBox1.Text 行。您可能会考虑更改您接受的答案或要求premiumbetine 编辑他的。

标签: vb.net webbrowser-control


【解决方案1】:

使用 WebBrowser 的导航事件来获取它的当前 URL。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    WebBrowser1.GoBack()
End Sub

Private Sub WebBrowser1_Navigated(sender As Object, e As WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated
    TextBox1.Text = e.Url.ToString
End Sub

【讨论】:

  • @Christoffer :如果此答案解决了您的问题,请按此帖子左侧的勾号/复选标记将已接受的答案更改为此。仅当您发现答案解决了您的问题时,才应将其标记为已接受。更多信息请参考:How does accepting an answer work?
  • 感谢 Christoffer、Vision Vincent 和 InteXX。
猜你喜欢
  • 2010-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-05
  • 2015-12-31
  • 1970-01-01
  • 2012-10-30
  • 1970-01-01
相关资源
最近更新 更多