※ 引述《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();
}
}