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.