我可以通过添加按钮将链接加载到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;
}
}
答案 0 :(得分: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();
}
答案 1 :(得分:1)
你的目标是什么?
您只需拨打Navigate
即可启动导航。它并不关心它在启动过程后会发生什么。因此,在您的代码中,循环会连续启动多个Navigate
,如果它已经完成,则每个{{1}}取消前一个{{1}}。因此,您实际看到的唯一一个将是您列表中的最后一个。