[英]How do I wait for a timer to elapse before continuing a for loop?
我正在使用常規的foreach循環,我想等到計時器完成后再繼續下一種情況。 我怎么做?
foreach (int i in TimeImage)
{
Timer timer1 = new Timer();
timer1.Tick += new EventHandler(showImage);
timer1.Interval = i * 1000;
timer1.Start();
showImage();
}
如果我對您想要的內容的理解是正確的(按特定順序顯示圖像),則for循環可能無法按您想要的方式工作。 計時器不會阻塞循環-無論如何,這是預期的方式。
*您不想以這種方式(或根本不)阻止用戶界面。
由於您已經為每個圖像分配了一個計時器,因此只需將間隔的分配從頭開始分成兩個for循環。
List<Timer> timers = new List<Timer>();
//i'm assuming that TimeImage is a list?
for (int i=1; i<=TimeImage.Count(); i++)
{
Timer timer1 = new Timer();
timer1.Tick += new EventHandler(showImage);
timer1.Interval = i * 1000;
timers.add(timer1);
//note showimage should know which particular image is to be loaded
//showimage should also stop the last timer that was triggered
}
foreach (Timer atimer in timers)
{
atimer.Start();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.