我想等到计时器完成然后从函数返回.我试过这个:
while(timer1.Enabled)
{
Application.DoEvents();
}
return value;
Run Code Online (Sandbox Code Playgroud)
但它没有工作,函数在计时器真正完成之前返回.这是完整的功能:
System.Windows.Forms.Timer timer1 = new System.Windows.Forms.Timer();
int[] foo()
{
do_something1();
int[] some_value;
timer1.Interval = 1000;
timer1.Tick += new EventHandler(delegate(object o, EventArgs ea)
{
if (browser.ReadyState == WebBrowserReadyState.Complete)
{
timer1.Stop();
baa(some_value);
}
});
timer1.Start();
while (timer1.Enabled)
{
Application.DoEvents();
}
return some_value;
}
Run Code Online (Sandbox Code Playgroud)