作者VVll (信)
看板C_Sharp
標題Re: [問題] 動態更新Label值
時間Tue Apr 1 04:17:33 2014
※ 引述《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