2012-03-09 44 views
0

希望有人能帮助我。我有两个单独但相关的表单,其中一个包含WebBrowser控件。用户填写一些信息表格1和点击一个按钮用下面的代码:VB.Net WebBrowser导航只能工作一次

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 

的QuickRefresh子在窗体2是用于导航的方法。这就是所谓的两个表单时在上面的代码作为手动加载,以及:

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

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

时遇到的问题是,在第一时间QuickRefresh被调用(即,当窗体2被装载)的导航是成功并且页面显示正常。如果我再次单击Form1上的按钮,页面不会更改。文本属性和窗口焦点确实会改变,所以我知道该方法正在发射。

有些事情我已经试过/检查:

  • AllowNavigation设置为True WebBrowser控件上
  • 试过循环,而浏览器是繁忙而调用Application.DoEvents()

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

+0

重温这一点,我注意到它已经开始工作,它仍然没有工作在一些用户的机器不过,我并没有改变任何代码,但我没有升级到IE9 IE8。我通过搜索确认WebBrowser控件受IE设置的影响,但我不确定哪一个会导致这种行为。任何有关它可能是哪种设置的见解? – Straadin 2012-03-29 14:35:26

回答

0

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

-1

使用方法刷新。

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