在C#编程中使用多线程访问winform控件
发布时间
阅读量:
阅读量
方案一:将System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls属性设置为false;
此方式并不被建议采用,其本质是通过禁用编译器对跨线程操作的检测机制来实现目的。
方案二:借助delegate与invoke机制进行处理
private delegate void UpdateLabel2Delegate(string message);
void UpdateLabel2(string message)
{
if (label1.InvokeRequired)
{
UpdateLabel2Delegate md = new UpdateLabel2Delegate(UpdateLabel2);
label1.Invoke(md, new object[] { message });
//label1.BeginInvoke(md, new object[] { message });
}
else
{
全部评论 (0)
还没有任何评论哟~
