Winform跨线程操作的简单方法
作者:
线程间操作无效:从不是创建控件“label1”的线程访问它
分析:label标签控件是主线程创建的,不能直接从另一个线程访问.可以这样认为:不能跨线程直接访问控件;
最简单的办法就是:
复制代码 代码如下:
using System.Windows.Forms;
Parent.Invoke(new MethodInvoker(delegate
{
Parent.label1.Text = "成功" ;
}));
其中,“Parent”是主窗体名称。 这样,我们就是在需要窗体控件产生变化的时候,发消息通知主窗体改变控件。这就完全避免了跨线程操作控件。