我Stop()从Tick回调事件函数调用,但它不会停止,该函数反复运行.为什么以及如何解决此问题?
此函数仅调用一次:
System.Windows.Forms.Timer timer1 = new System.Windows.Forms.Timer();
void foo() {
timer1.Interval = 1000;
timer1.Tick += new EventHandler(timerTick);
timer1.Start();
}
Run Code Online (Sandbox Code Playgroud)
和回调函数:
void timerTick(object o, EventArgs ea)
{
if (browser.ReadyState == WebBrowserReadyState.Complete)
{
MessageBox.Show("stop it!");
timer1.Stop();
}
}
Run Code Online (Sandbox Code Playgroud)
这将显示无限的stop it消息框,而它必须显示一次.
你需要撤销你的陈述:
if (browser.ReadyState == WebBrowserReadyState.Complete)
{
timer1.Stop();
MessageBox.Show("stop it!");
}
Run Code Online (Sandbox Code Playgroud)
目前的情况; 它将继续滴答作响,直到你关闭一个盒子(因为MessageBox.Show块),这可能是很多滴答.
| 归档时间: |
|
| 查看次数: |
231 次 |
| 最近记录: |