我遇到的情况是,用了一个线程,再线程中进行更新DataGridView中的数据,以及提示内容,线程处理结束后,滚动条无法滚动,而且会变黑。
如果你使用了Control.CheckForIllegalCrossThreadCalls = false;这句话也是不管用的。
解决方法:
1.在该Form中增加代理:private delegate void InvokeHandler();
Thread_TongBu = new Thread(TongBu_data_New);
Thread_TongBu.IsBackground = true;
然后,在线程的处理方法 TongBu_data_New中,凡是与DataGridView有关的更新都这样写:
this.Invoke(new InvokeHandler(delegate ()
{
//你的逻辑
}));
这样就可以完美解决了