Z
zazaza
в процессе написания программы возникла пожалуй главная проблема..
Не могу никак придумать нормальную систему что бы проследить загрузилась ли интернет страница или нет.
Моя задумка в данном вопросе заключается в следующем :
Компонент WEBBROWSER начинает открывать какую нибудь страницу и прежде чем приступить к новой задачи сразу проверяется загрузилась ли страница полностью.
Если "Да" то идём далее если нет "то ждём загрузки страницы "
я попробовал для теста такой вариант но он потерпел крах:
на фоме объекты:
* webbrowser
* button1
* textbox
* timer1 с интервалом например 5000
Ещё попробовал такой вариант: но и он без особого успеха.
* webbrowser
* button1
* textbox
* timer1 с интервалом например 5000
*progressbar1
Когда я запускаю програму и пытаюсь посмотреть результаты WRITELINE то складывается впечатление что страница загружается несколько раз и там образом вместо того что бы напсиать 1 раз "Страница загрузилась" он её пишет в пределах 5 секунд 2-3 раза.
Может есть ещё какие варианты проследить загрузку страницы более точно?
заранее спасибо
Не могу никак придумать нормальную систему что бы проследить загрузилась ли интернет страница или нет.
Моя задумка в данном вопросе заключается в следующем :
Компонент WEBBROWSER начинает открывать какую нибудь страницу и прежде чем приступить к новой задачи сразу проверяется загрузилась ли страница полностью.
Если "Да" то идём далее если нет "то ждём загрузки страницы "
я попробовал для теста такой вариант но он потерпел крах:
на фоме объекты:
* webbrowser
* button1
* textbox
* timer1 с интервалом например 5000
Код:
Public Class Form1
Public proverka As Boolean
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
proverka = True
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WebBrowser1.Navigate(TextBox1.Text)
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If proverka = True Then
Debug.WriteLine("Страница загрузилась")
Else
proverka = False
End If
End Sub
End Class
Ещё попробовал такой вариант: но и он без особого успеха.
* webbrowser
* button1
* textbox
* timer1 с интервалом например 5000
*progressbar1
Код:
Public Class Form1
Private poverka As Boolean
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WebBrowser1.Navigate(TextBox1.Text)
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If ProgressBar1.Value < 100 Then
poverka = False
Else
Debug.WriteLine("страница загрузилась")
End If
End Sub
Private Sub WebBrowser1_ProgressChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserProgressChangedEventArgs) Handles WebBrowser1.ProgressChanged
ProgressBar1.Value = e.CurrentProgress
End Sub
End Class
Когда я запускаю програму и пытаюсь посмотреть результаты WRITELINE то складывается впечатление что страница загружается несколько раз и там образом вместо того что бы напсиать 1 раз "Страница загрузилась" он её пишет в пределах 5 секунд 2-3 раза.
Может есть ещё какие варианты проследить загрузку страницы более точно?
заранее спасибо