线程异步
普通的方法:
Thread th = new Thread(new ThreadStart(delegate()
{
//要执行的异步方法
}));
th.Start();
但有时候异步去操作控件时会报错,提示主线程之外的线程操作控件,这时候可以这样写:
Thread th = new Thread(new ThreadStart(GetVideos));
th.Start();
//异步获取视频列表
private void GetVideos()
{
if (this.InvokeRequired)
{
MethodInvoker getvideo = delegate
{
//操作控件的地方,注意的是,这里只包含操作控件的地方就好,不用所有方法内容都包含,还有这里的内容和下面else里的是一样的
};
this.Invoke(getvideo);
}
else
{
}
}
这样就能解决异步操作主线程控件的问题了