这个方法我比较喜欢用,使用简单.但是定制性不如自己新开线程.
https://msdn.microsoft.com/zh-cn/library/system.componentmodel.backgroundworker(v=vs.90).aspx

1
2
3
4
5
6
7
8
9
10
11
//  先实例化一个BackgroundWorker
System.ComponentModel.BackgroundWorker bw = new System.ComponentModel.BackgroundWorker();
bw.DoWork += new System.ComponentModel.DoWorkEventHandler(bw_DoWork);  //  绑定方法
//  再来一个方法
private void bw_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
    System.Threading.Thread.Sleep(3000);  //  等待3秒后执行,不然不知道是异步的
    MessageBox.Show("WorkNow");
}
//  使用
bw.RunWorkerAsync();