我正在使用System.Threading.Thread.Sleep(50);
但我觉得要慢,我不知道为什么,但确实如此。
看看我的代码:
clickButton();
System.Threading.Thread.Sleep(SLEEP_AFTER_CLICK_PAGE);
我需要先clickButton();
,然后我需要sleep
程序。但是,如果我运行代码,编程首先睡眠和睡眠后调用方法 clickButton();
?为什么?我不明白这一点......
程序只在一个帖子中。
编辑代码:
private void timer1_Tick(object sender, EventArgs e)
{
clickButton();
timer1.Stop();
System.Threading.Thread.Sleep(SLEEP_AFTER_CLICK_PAGE);
timer1.Start();
}
private void clickButton()
{
webBrowser1.Document.GetElementById("skip_ad_button").InvokeMember("click");
}
答案 0 :(得分:1)
我怀疑你期望的行为是:
但是发生的事情是直到睡眠后才发生可见的更新......
您需要在睡觉前强制更改UI,因为您正在阻止它。您通常可以通过添加...
来完成此操作Application.DoEvents();
睡觉前。
答案 1 :(得分:0)
if (mCursor.getCount() == 0) {
// cursor is empty
}
会做各种奇怪的事情。可能是单击的调用存储在某个队列中,该队列受Sleep影响。我不确切知道,但我知道应该不惜一切代价避免Thread.Sleep
。
我建议您使用两个计时器而不是一个计时器。一个用于点击,一个用于等待,再次启用第一个计时器。如果你这样做,你就让你的应用程序在你等待时做它的东西。使用Sleep
,它会停止正在进行的操作,直到时间结束。
像这样:
Thread.Sleep