在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
public static class ControlExtention
{ public delegate void InvokeHandler(); //同步访问控件 public static void SafeInvoke(this Control control, InvokeHandler handler) { if (control.CheckAccess()) { handler(); } else { control.Dispatcher.Invoke(handler); } } //异步访问控件 public static void SafeBeginInvoke(this Control control, InvokeHandler handler) { if (control.CheckAccess()) { handler(); } else { control.Dispatcher.BeginInvoke(handler); } } } 在winform中
public static class ControlExtention 如果直接更改label1里面text内容将引发错误,用下面这个方法就可以实现更改。{ public delegate void InvokeHandler(); public static void SafeInvoke(this Control control, InvokeHandler handler) { if (control.InvokeRequired) { control.Invoke(handler); } else { handler(); } } }
Thread thread1 = new Thread(delegate()
{ this.SafeInvoke(() => { label1.Text = "可以更改标题了"; }); }); thread1.Start(); |
请发表评论