如何延迟循环周期?

时间:2014-09-02 13:55:39

标签: c# wpf delay

我有一个for循环,我计算某些东西的值并显示它,例如

void Button_Click(object sender, RoutedEventArgs e)
{
    InitializeComponent();

    Random rand = new Random();
    for (i = 0; i <= 30; i++)        
    {
       rnd = rand.Next(1,10);
       value += i + rnd;
       display.Content = value;
    }
}

问题是,我希望在每个周期后看到覆盖的值,延迟X秒,我怎样才能在WPF中实现?

1 个答案:

答案 0 :(得分:5)

使用Task.Delay在一段时间后执行一些代码。

private async void Button_Click(object sender, RoutedEventArgs e)
{
    InitializeComponent();

    Random rand = new Random();
    for (i = 0; i <= 30; i++)        
    {
       rnd = rand.Next(1,10);
       value += i + rnd;
       display.Content = value;
       await Task.Delay(Timespan.FromSeconds(1));
    }
}