[問題] 控制項背景重繪 ??

看板C_Sharp作者 (toward)時間17年前 (2008/05/19 11:28), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
如果在按鈕(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

05/19 11:38, , 1F
看起來好像他剛變完紅色又變白色了@.@
05/19 11:38, 1F
感謝您的提醒,修改前的問題 真是太丟臉了 XD ※ 編輯: gavintsou 來自: 140.116.75.67 (05/19 11:56)

05/19 13:06, , 2F
指定完BackColor之後加上Application.DoEvent();
05/19 13:06, 2F
文章代碼(AID): #18CFFnkQ (C_Sharp)