在多线程中对DataGridView指定 DataSource 来填充数据,更新数据的时候,会导致DataGridView出现假死,显示错误或者滚动条无法显示的问题,在保证了DataGridView的ScrollBars设置为了Both,数据量大于DataGridView显示的的范围,而且没有冻结列的情况下,解决方法如下:

一是使用 Invoke 将执行数据绑定的代码交回给主线程(因为 DataGridView 是主线程创建的);

二是在指定 DataSource 之前,将其置为 null。

private delegate void InvokeHandler();
//子线程中
this.Invoke(new InvokeHandler(delegate()
            {
                dataGridView1.DataSource = null;
                dataGridView1.DataSource = dgv_dt;
            }));

忽略子线程操作主线程创建的对象只要加一句:Control.CheckForIllegalCrossThreadCalls = false;但不可在多线程中随便使用。

解决DataGridView在多线程中无法显示滚动条的问题的更多相关文章

  1. 解决datagridview 横向的scrollbar不显示

    下午遇到这个问题.看到了网上各种解决办法.都没搞定. 新建了一个datagridview.发现是没问题了.仔细对比了一下它们的属性. 在Columns的属性中,有一项:Frozen, 把这个值改顺默认 ...

  2. 解决DataGridView.DataSource重复赋值而不显示问题

    List<Person> list=new List<Person>(); ;i<;i++) { list.Add(new Person(){........}) } d ...

  3. 解决cefsharp在winform中不显示tooltipText问题(网页元素的title提示)

    1.监听网页属性改变事件 webView.PropertyChanged += webView_PropertyChanged; 2.拖一个ToolTip控件到窗体 3.在webView_Proper ...

  4. 【解决方法】EasyUI DataGrid不显示滚动条时,没有数据的问题

    解决方法 于dataGrid例如,下面的代码被添加到的定义:  JavaScript Code  1 2 3 4 5 6 7 8 9 10 onLoadSuccess : function (data ...

  5. MFC关于多线程中传递窗口类指针时ASSERT_VALID出错的另类解决 转

    MFC关于多线程中传递窗口类指针时ASSERT_VALID出错的另类解决   在多线程设计中,许多人为了省事,会将对话框类或其它类的指针传给工作线程,而在工作线程中调用该类的成员函数或成员变量等等. ...

  6. Visual Studio 2010 起始页中 不显示最近使用的项目问题,解决办法

    最近新装了vs2010,发现打开vs2010 后 起始页面中的最近使用的栏目中 并未显示最近加载的项目 解决办法如下: 运行 regedit 打开下面的键值: HKEY_CURRENT_USER/So ...

  7. FLASH轮播广告 在谷歌浏览器中不显示的解决办法(FLash轮播放广告在谷歌浏览器中无法显示处理方法)

    在用PHPWEB模板的时候,碰到首页有一个FLASH轮播广告,在IE浏览器下可以正常显示播放,在谷歌浏览器中却显示不了,解决办法如下: 欢迎转载:http://blog.csdn.net/aminfo ...

  8. 【转】【已解决】Android中ActionBar中不显示overflow(就是三个点的那个按钮)--不错

    原文网址:http://www.crifan.com/android_actionbar_three_dot_overflow_not_show/ [问题] 折腾: [记录]继续尝试给Android程 ...

  9. Excel在任务栏中只显示一个窗口的解决办法

     Excel在任务栏中只显示一个窗口的解决办法  以前朋友遇到过这个问题,这次自己又遇到了,习惯了以前的那种在任务栏中显示全部窗口,方便用Alt+Tab键进行切换. 如果同时打开许多Excel工作簿, ...

随机推荐

  1. poj 1753 Flip Game

    点击打开链接 Flip Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 25674   Accepted: 1109 ...

  2. JavaScript学习笔记---入门

    1.JavaScript 语句和 JavaScript 变量都对大小写敏感. 2.重新声明 JavaScript 变量 如果重新声明 JavaScript 变量,该变量的值不会丢失: 在以下两条语句执 ...

  3. Ibatis 异常:Unable to open connection to "oledb , provider V2.0.0.0 in framework .NET V2.0".

    在实际项目中使用了ibatis,然后在开发过程中遇到一些问题,最严重的就是这个“Unable to open connection to "Microsoft SQL Server, pro ...

  4. [转]dispatcher、redirect和chain三种result type的使用区别

    http://blog.163.com/zhangfei_jiayou/blog/static/562441782009826045248/ dispatcher:用于页面转发,页面跳转过程一直是同一 ...

  5. ASP.Net软件工程师基础(二)

    1.封装 答:属性封装了字段,通过get和set访问器限制字段对外开放的程度:将重复的代码封装成方法,实现DCR原则(Don't Copy yourself):方法的参数组合可以用类实现,即在方法中不 ...

  6. POJ 3207 Ikki's Story IV - Panda's Trick

    Ikki's Story IV - Panda's Trick Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 7296   ...

  7. iOS 7.0获取iphone UDID 【转】

    iOS 7.0 iOS 7中苹果再一次无情的封杀mac地址,使用之前的方法获取到的mac地址全部都变成了02:00:00:00:00:00.有问题总的解决啊,于是四处查资料,终于有了思路是否可以使用K ...

  8. HDU 1856

    http://acm.split.hdu.edu.cn/showproblem.php?pid=1856 对于这道题,主要就是让你求出有最多结点的树的树叶: 我们只要利用并查集的知识吧所输入的数据连接 ...

  9. jmeter随笔(3)-从csv中获取带引号的数据详情

    最近在工作中,对jmeter实践的点滴的记录这里分享,不一定正确,仅供参考和讨论,有想法的欢迎留言.谈论. 1技巧1:从csv中获取带引号的数据详情 背景:我们从csv中获取数据,在jmeter中使用 ...

  10. MSP430F149学习之路——LED

    #include <msp430x14x.h> void int_clk(); void delay(int i); void main() { WDTCTL = WDTPW + WDTH ...