VB.Net WebBrowser перемещается только один раз

Надеюсь, кто-то может мне помочь. У меня есть две отдельные, но связанные формы, одна из которых содержит элемент управления 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

Подстройку QuickRefresh в Form2 - это метод, который перемещается. Он называется как при загрузке формы, так и вручную в приведенном выше коде:

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 и фокус окна изменяются, поэтому я знаю, что метод запускается.

Некоторые вещи, которые я пробовал/проверял:

  • AllowNavigation установлен на значение True в элементе управления WebBrowser
  • Попробовали цикл, когда браузер занят при вызове Application.DoEvents()

Мы ценим любые предложения. Благодарю.

2 ответа

В диалоговом окне "Свойства обозревателя"> вкладка "Общие"> "Настройка"> "Проверить новую версию сохраненной страницы" измените эту опцию на "Каждое время, когда я посещаю веб-страницу". Этот параметр влияет на то, как управление веб-браузером имеет дело с обновлением.


Используйте метод обновления.

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

licensed under cc by-sa 3.0 with attribution.