在winform或者wpf,后台线程是无法访问和修改UI层的。
在Winform中,我们需要调用控件的 Invoke/BeginInvoke 方法来将代码扔回至UI线程执行。
而WPF是需要调用UI线程的 Dispatcher.Invoke/BeginInvoke 来做。
this.Dispatcher.Invoke(new Action(()=>{this.Visibility = Visibility.Visible;
}));
在winform中,也可以这样解决:
private delegate void ControlsRemove();
if (panel1.InvokeRequired)
{
ControlsRemove call = delegate()
{
//this.panel1.Controls.Clear();
};
panel1.Invoke(call);
}
版权声明:本文为u014117094原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。