使用委託解決方法的跨線程調用問題

  1 //聲明和需進行跨線程調用的方法相同形參表的委託
  2 public delegate void AddStatusInfoToFormCallback(string str);
  3 private void AddStatusInfoToForm(string str)
  4 {
  5     //檢測調用控件的線程和建立控件的線程是否相同
  6     //若是調用控件的線程和建立建立控件的線程不是同一個則爲True
  7     if (InvokeRequired)
  8     {
  9         //使用委託調用本方法
 10         var d = new AddStatusInfoToFormCallback(AddStatusInfoToForm);
 11         Invoke(d, str);
 12     }
 13     else
 14     {
 15         //當前線程調用
 16         Controls.Clear();
 17     }
 18 }
相關文章
相關標籤/搜索