跨线程访问控件出错的问题
CSDN上有便宜碰到这样的问题
当打开一个窗体的时候,需要初始化和加载的数据比较多的时候,让主窗体先打开,然后再开一个线程来处理这些控件初始话和数据加载
这样就会出线跨线程访问控件出错的问题
现在弄个简单的用法
delegate void dSetText();
private void button1_Click(object sender, EventArgs e)
{
--开始线程
System.Threading.Thread t = new System.Threading.Thread(SetText);
t.Start();
}
private void SetText()
{
--判断是否跨线程操作
if (InvokeRequired)
{
dSetText d = new dSetText(SetText);
--用委托来执行方法
this.Invoke(d);
}
else {
this.textBox1.Text = "Hi";
}
}