看板 C_Sharp 關於我們 聯絡資訊
※ 引述《Anthony53 (安東尼)》之銘言: : 如果我從DB中撈資料 : 撈完資料後要立即更新Lable值 : 之後每30秒會撈一次資料 : 我想要在撈完資料後立即更新Label值 : 我嘗試用Timer : 但他只能控制時間 : 可是我希望是在我做完這個動作後的下一行更新Label值 : 而不是每30秒更新值 : 我也試過委派了 : 可是都不行 請問還有甚麼辦法嗎 謝謝 void timer_tick() { readDB(); } void readDB() { //read DB... //update ui this.form.InvokeIfRequired(()=> { this.form.label.text = xxx; }); } public static class ExtensionForm { public static void InvokeIfRequired( this Control control, MethodInvoker action) { if (control.InvokeRequired)//在非當前執行緒內 使用委派 control.Invoke(action); else action(); } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.240.239.100 ※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1396297056.A.834.html
KanoLoa:感謝,我一直再想委派UI怎麼做比較漂亮 04/01 13:29
piadoro:推 04/03 11:25