Я пытаюсь создать «ротатор» в форме, которая циклически проходит через ряд URL-адресов и отображает URL-адрес в элементе управления WebBrowser
. Следующий код отображает мою форму, но форма остается белой/пустой, а затем через некоторое время появляется последний url в массиве. Когда я помещаю MessageBox
между каждым URL-адресом, чтобы создать остановку, он работает, и каждый URL-адрес появляется. Я пробовал поставить Sleep
вместо MessageBox
, но это не сработало. Я также пытался увеличить время Sleep
, но это тоже не сработало. Как я могу заставить его работать правильно?Открывать несколько URL-адресов последовательно в элементе управления WebBrowser в VB.NET
Sub Rotate()
Dim Urls() As String = {"www.stackoverflow.com", "www.google.com", "www.yahoo.com"}
Dim counter As Integer = 0
Form3.Show()
Do Until counter = 3
Form3.WebBrowser1.ScriptErrorsSuppressed = True
Form3.WebBrowser1.Navigate(Urls(counter))
'MessageBox.Show("Next")
counter = counter + 1
System.Threading.Thread.Sleep(2000)
Loop
End Sub
Спасибо. Первый подход, который вы предложили, работает, если я не пытаюсь открыть URL-адрес. Например, если я заменил «Form3.WebBrowser1.Navigate (Urls (counter))» с «Label1.Text = Urls (counter)», метка изменится, как ожидалось. Однако для «Навигация» он отображает только последний URL-адрес. Также вы могли бы привести пример своего второго предложения? – user3080392
Обновлен мой ответ. Надеюсь, это поможет. – DAXaholic
Ваше решение сработало. Благодаря! Я сделал некоторые небольшие корректировки и отправил свой ответ. – user3080392