日期:2014-05-17 浏览次数:20761 次
private delegate void flush(); public void F() { flush f = new flush(aa); panel.Invoke(f); } public void aa() { panel.Controls.Clear(); panel.Controls.Add(panel1); //报异常 }
private delegate void flush(); public void F() { flush f = new flush(aa); //panel.Invoke(f); //这里要用主线程去调用 this.Invoke(f); } public void aa() { panel.Controls.Clear(); panel.Controls.Add(panel1); //报异常 }
------解决方案--------------------
panel1是在什么位置定义的,看起来应该是访问panel1出现的问题
------解决方案--------------------
private delegate void flush();
public void F() {
flush f = new flush(aa);
panel.Invoke(f);
}
public void aa() {
panel.Controls.Clear();
panel.Controls.Add(panel1); //报异常
}
-----------------
pub void aa()函数改为:
public void aa()
{
flush a=new deldegate()
{
panel.Controls.Clear();
panel.Controls.Add(panel1);
}
panel.invoke(a);
}