Я использую элемент управления веб-браузера .NET для открытия стопок URL-адресов, и цикл вызывается в событии DocumentCompleted.
Теперь я хочу контролировать тайм-аут. Поэтому я использую таймер, и по истечении тайм-аута он останавливает браузер с помощью функции stop ().
Вопрос: кажется, что функция stop запускает событие DocumentCompleted иногда . Так что если таймер вызывает следующий цикл после остановки веб-браузера, возникает ошибка. И если он не вызывает следующий цикл, иногда цикл будет остановлен в середине.
Процедура, подобная этой (не относящиеся коды удаляются):
private string[] urls;//urls are stored here
private int index = 0;//next url index
private void loopFunc()
{
timer.Enabled = true;
wb.navigate(urls[index]);
index++;
return;
}
private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
loopFunc();
}
private void timer1_Tick(object sender, EventArgs e)
{
wb.stop();
//loopFunc() or not?
}
Я точно не знаю, запускает ли это событие или нет, и через Google ничего не нашел.