VB.Net WebBrowser仅导航一次

时间:2012-03-09 21:05:16

标签: vb.net browser

希望有人可以帮助我。我有两个独立但相关的表单,其中一个包含WebBrowser控件。用户在表单1上填写一些信息,然后单击一个包含以下代码的按钮:

If Form2Shown = False Then
    Dim memoscreen As New Form2
    Form2Ref = memoscreen
    memoscreen.show()
    Form2Shown = True
    memoscreen.TopMost = OptionOnTop
Else
    Dim memoscreen As Form2
    memoscreen = Form2Ref
    memoscreen.TopMost = OptionOnTop
    memoscreen.QuickRefresh()
End If

Form2中的QuickRefresh子是导航的方法。在表单加载时以及在上面的代码中手动调用它:

Public Sub QuickRefresh()
    Dim HM As Form1
    HM = Form1Ref
    Me.Text = "retrieving information..."
    Me.AxWebBrowser1.Navigate("SomeValidURL")

    HM.Focus()
    HM.SetHugoFocus()
End Sub  

我遇到的问题是第一次调用QuickRefresh(即加载Form2时)导航成功并且页面显示正常。如果我再次单击Form1上的按钮,页面不会更改。然而,Text属性和窗口焦点确实发生了变化,因此我知道该方法正在触发。

我尝试/检查的一些事情:

  • 在WebBrowser控件上将AllowNavigation设置为True
  • 在调用Application.DoEvents()
  • 时,浏览器忙时尝试循环

任何建议将不胜感激。感谢。

2 个答案:

答案 0 :(得分:0)

从“互联网选项”对话框>“常规”选项卡>“设置”按钮>检查存储页面的更新版本“将该选项更改为*每次访问网页时”。该设置会影响web浏览器控件如何处理清爽。

答案 1 :(得分:-1)

使用方法刷新。

browser.Navigate("http://www.google.com") : browser.Refresh()