2012-03-09 72 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()