作者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
推 windsheep:看起來好像他剛變完紅色又變白色了@.@ 05/19 11:38
感謝您的提醒,修改前的問題 真是太丟臉了 XD
※ 編輯: gavintsou 來自: 140.116.75.67 (05/19 11:56)
→ O2000:指定完BackColor之後加上Application.DoEvent(); 05/19 13:06