我有一个foreach循环,它将遍历数组中的每个字符串,我想制作一个每100毫秒滴答一次的计时器,当它滴答时它会转到数组中的另一个字符串,例如:
刻度100毫秒 thepath = Assets / Star / Star_00001.png 舔100毫秒 thepath = Assets / Star / Star_00002.png
到目前为止,我有这个:
private void Button7_Click(object sender, RoutedEventArgs e)
{
string[] images = new string[] { "Star_00001.png", "Star_00002.png", "Star_00003.png", "Star_00004.png", "Star_00005.png", "Star_00006.png", "Star_00007.png";
string path = "Assets/Star/";
foreach(string file in images)
{
string thepath = Path.Combine(path,file);
asset.Text = thepath;
}
}
我该如何接近并做到这一点? (对不起,如果你不明白,我发现很难解释自己,如果你有其他问题只是评论)
答案 0 :(得分:4)
您可以使用Task.Delay
模拟计时器。您需要在async
标记方法,以便await
在其中:
private async void Button7_Click(object sender, RoutedEventArgs e)
{
string[] images = new string[] { "Star_00001.png", "Star_00002.png", "Star_00003.png", "Star_00004.png", "Star_00005.png", "Star_00006.png", "Star_00007.png";
string path = "Assets/Star/";
foreach(string file in images)
{
string thepath = Path.Combine(path,file);
asset.Text = thepath;
await Task.Delay(100);
}
}