我在循环的每次迭代中尝试Thread.Sleep(1000)
,但infoLabel.Text
在循环结束前不会更改。它在调用Thread.Sleep 3次后更改infoLabel.Text。
请指教。这是我的代码。
void Handle_Touchdown(object sender, EventArgs e)
{
for(int i = 0; i < 10; ++i )
{
infoLabel.Text = i.ToStraing();
Thread.Sleep(1000);
}
}
答案 0 :(得分:4)
你可能最好实现一个NSTimer
并增加一个计数。可能的代码如下:
void Handle_Touchdown(object sender, EventArgs e)
{
NSTimer timer;
int counter = 0;
timer = NSTimer.CreateRepeatingScheduledTimer(1, delegate{
if (counter != 10)
{
counter++;
infoLabel.Text = i.ToString();
}
else
timer.Invalidate() // stop the timer
});
}