博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

winform多线程中给datagridview绑定数据源

Posted on 2012-11-08 15:21  JmrBrvae  阅读(1106)  评论(0编辑  收藏  举报

自己本身对多线程不是很了解,前段时间做项目,图像识别模块需要用得到多线程,将识别的结果显示在列表中

Thread th = new Thread(new ThreadStart(GetImgString)); 
Control.CheckForIllegalCrossThreadCalls = false;
th.Start();

  

GetImgString() 方法中包含了识别过程以及数据处理,最后将数据绑定到datagridview
最开始 我直接给dataSource赋值 但是每当执行到第三次的时候就会报一个空指针的异常
从网上查阅后,然后将绑定方法改成了下面的代码:
dataGridView1.Invoke(new MethodInvoker(delegate()
     {
           dataGridView1.DataSource = list;
     }));

  然后异常就没有了 虽然还不是很理解这是什么原因,但还是先记录下来,方便以后遇到同样问题,方便查阅。