我想连续显示和隐藏标签(在for循环中使用sleep)。这就是我在做的事情:
for (i = 0; i < 25; i++)
{
label1.Visible = true;
Thread.Sleep(1000);
label1.Visible = false;
Thread.Sleep(2000);
}
但是,上面的代码没有按预期工作。我根本看不到标签。不知道如何实现这个
答案 0 :(得分:1)
使用Thread.Sleep
冻结你界面的Windows,你必须运行一个单独的胎面或使用一个为你做这个的计时器
例如:
void blinkLabel()
{
int blink_times = 25;
System.Windows.Forms.Timer timer1 = new System.Windows.Forms.Timer();
timer1.Interval = 1000;//every one second
timer1.Tick += new System.EventHandler((s, e) =>
{
if (blink_times >= 0)
{
label1.Visible = !label1.Visible;
blink_times--;
}
else
{
timer1.Stop();
}
}
);
timer1.Start();
}