public delegate void MyInvoke();
Thread thread = new Thread(test);
thread.IsBackground = true;
thread.Start();
public void test() {
//判断当前的线程是不是该窗体所在的线程,如果不是,需要Invoke到窗体线程去。
//执行的时候先执行else中的代码块 后执行if中的代码块
if (dgv_note.InvokeRequired) //dgv_note 这里替换成你需要跨线程的控件
{
MyInvoke _myInvoke = new MyInvoke(test);
this.Invoke(_myInvoke, null);
Console.WriteLine("后执行");
}
else
{
dgv_note.DataSource = table;
Console.WriteLine("先执行");
}
} |