作者gavintsou (toward)
看板C_Sharp
标题[问题] 控制项背景重绘 ??
时间Mon May 19 11:28:48 2008
如果在按钮(Button)Click事件中,针对一个控制项ci的背景做设定
即
ci.BackColor = Color.Red;
ci的背景马上变成红色的。
若使用timer的tick事件 程式码如下:
private void timer_Tick(object sender, EventArgs e)
{
if (ci.BackColor == Color.White) ci.BackColor = Color.Red;
else if (ci.BackColor == Color.Red) ci.BackColor = Color.White;
}
可以达到闪烁的效果。
但是又前後想要闪个2秒就好,想说按个按钮後,闪两秒
程式码如下:
private void button1_Click(object sender, EventArgs e)
{
ci.BackColor = Color.Red;
Thread.Sleep(500);
ci.BackColor = Color.White;
Thread.Sleep(500);
ci.BackColor = Color.Red;
Thread.Sleep(500);
ci.BackColor = Color.White;
}
但是事与愿违
请问各位,这当中是否缺少了什麽关键?或是什麽观念要先建立?
感谢各位!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.75.67
1F:推 windsheep:看起来好像他刚变完红色又变白色了@.@ 05/19 11:38
感谢您的提醒,修改前的问题 真是太丢脸了 XD
※ 编辑: gavintsou 来自: 140.116.75.67 (05/19 11:56)
2F:→ O2000:指定完BackColor之後加上Application.DoEvent(); 05/19 13:06