我想连续显示和隐藏标签(在for循环中使用sleep)。这是我在做什么:连续显示并隐藏Windows窗体中的标签
for (i = 0; i < 25; i++)
{
label1.Visible = true;
Thread.Sleep(1000);
label1.Visible = false;
Thread.Sleep(2000);
}
但是,上述代码不能按预期方式工作。我根本看不到标签。任何想法如何实现这一
我想连续显示和隐藏标签(在for循环中使用sleep)。这是我在做什么:连续显示并隐藏Windows窗体中的标签
for (i = 0; i < 25; i++)
{
label1.Visible = true;
Thread.Sleep(1000);
label1.Visible = false;
Thread.Sleep(2000);
}
但是,上述代码不能按预期方式工作。我根本看不到标签。任何想法如何实现这一
使用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();
}
对不起,互联网连接丢失了一段时间。谢谢。请试试看并回复 –
非常感谢。有用!我学到的一点 - 从不在表单的主线程中使用Sleep –
什么是使用'主题的目的。睡眠(1000)'? –
使用'定时器'组件并更改每个滴答的可见性:'label1.Visible =!label1.Visible;' – ASh