【发布时间】:2013-04-06 17:04:41
【问题描述】:
我希望我的程序执行以下操作:
for (int i = 0; i < btns.Length; i++)
{
//Flash red
btns[i].BackColor = Color.Red;
System.Threading.Thread.Sleep(500);
//Change to green
btns[i].BackColor = Color.Green;
}
btns 是一组可以改变颜色的按钮。
但是当我的代码执行时,它会休眠 2.5 秒(因为有 5 个按钮),然后它们会立即将颜色变为绿色,而不会闪烁红色。我的猜测是,这是因为完成颜色更改所需的时间比到达 Sleep 函数所需的时间要长,这会导致一切停止。
我尝试过使用定时器,但它们本身就有问题。为此,我宁愿改变>等待>改变。有什么办法可以做到吗?
【问题讨论】: