Я могу загрузить ссылку в руководство по webBrowser1.Navigate, добавив кнопку. Но я не могу заставить его работать во время обработки из списка в цикле. Есть ли функция ответа или ожидания, которую предполагается добавить? Сейчас я слышу только щелчки и ничего не происходит в окне управления браузером.
private void start_btn_Click(object sender, EventArgs e)
{
if (listId.Items.Count != 0 && listCell.Items.Count != 0)
{
for (int a = 0; a < listId.Items.Count; a++)
{
for (int b = 0; b < listCell.Items.Count; b++)
{
MakeReq(txtWebUpdate.Text + listId.Items[a].ToString() +
"&admire=1", listCell.Items[b].ToString());
}
}
}
}
void MakeReq(string Url, string Cell)
{
try
{
txtSetUpdate.Text = (Cell);
webBrowser1.Navigate(new Uri(Url));
}
catch (System.UriFormatException)
{
return;
}
}
2 ответа
Это код, который я в итоге использовал.
void WaitBrowserLoading()
{
while (webBrowser1.IsBusy)
Application.DoEvents();
for (int i = 0; i < 500; i++)
if (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
System.Threading.Thread.Sleep(10);
}
else
break;
Application.DoEvents();
}
Какова твоя цель?
Здесь вы просто вызываете Navigate
, который просто запускает навигацию. Его не волнует, что произойдет после запуска процесса. Таким образом, в вашем коде цикл инициирует несколько Navigate
подряд, каждый из которых отменяет предыдущий, если он еще не завершился. Таким образом, единственное, что вы действительно увидите завершенным, будет последним в вашем списке.
Похожие вопросы
Связанные вопросы
Новые вопросы
c#
C # (произносится как «резкий») - это высокоуровневый, статически типизированный язык программирования с несколькими парадигмами, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, включая, среди прочего, .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном на C # или в формальной спецификации C #.