使用委托解决方法的跨线程调用问题
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 }
作者:叫我玮仔
出处:http://www.cnblogs.com/WayneShao/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。