嗨我想要逐行延迟5秒钟。 我使用了以下代码,但它无法正常工作。
private void button3_Click(object sender, System.EventArgs e)
{
textBox4.Text = textBox3.Text;
string[] groups = textBox4.Text.Split('\n');
webBrowser1.Navigate("https://mbasic.facebook.com/groups/516524655403741");
Thread.Sleep(5000);
webBrowser1.Navigate("https://mbasic.facebook.com/groups/548734261950831");
Thread.Sleep(5000);
webBrowser1.Navigate("https://mbasic.facebook.com/groups/202669939887242");
Thread.Sleep(5000);
webBrowser1.Navigate("https://mbasic.facebook.com/groups/259531940895144");
Thread.Sleep(5000);
}
执行此代码后。它有 20 秒重定向到上一个网站...
但是我想在 5 秒内运行所有网站到 5 秒。 请解决我的问题。
答案 0 :(得分:3)
问题不在于您使用的webbrowser客户端。问题是你要阻止“GUI线程”总共20秒。在这20秒内,现在将进行GUI更新,直到您的button3_Click()
方法完成。
重写代码,其他线程正在执行Sleep()
和Navigate()
方法。当您想要从非“GUI线程”更新GUI时,可能需要使用Dispatcher.Invoke()
方法再次访问“GUI线程”。