找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2066|回复: 12

Winform DataGridView 线程中卡死, 不显示滚动条

 火.. [复制链接]
  • 打卡等级:常驻代表
  • 打卡总天数:34
  • 打卡月天数:6
  • 打卡总奖励:9027
  • 最近打卡:2025-12-17 23:15:51

2823

主题

541

回帖

2万

积分

管理员

积分
22569
发表于 2021-9-12 15:56:37 | 显示全部楼层 |阅读模式
[size=1em]
在多线程中对DataGridView指定 DataSource 来填充数据,更新数据的时候,会导致DataGridView出现假死,显示错误或者滚动条无法显示的问题,在保证了DataGridView的ScrollBars设置为了Both,数据量大于DataGridView显示的的范围,而且没有冻结列的情况下,解决方法如下:
使用 Invoke 将执行数据绑定的代码交回给主线程(因为 DataGridView 是主线程创建的);

[size=1em]
  1. // .net 4.0
  2. this.Invoke(new Action(delegate {
  3.     // 绑定数据源
  4.     dataGridView1.DataSource = dt;
  5. }));

  6. // .net 2.0
  7. private delegate void InvokeHandler();
  8. this.Invoke(new InvokeHandler(delegate ()
  9. {
  10.     // 绑定数据源
  11.     dataGridView1.DataSource = dt;
  12. }));
复制代码



工控课堂 www.gkket.com

0

主题

101

回帖

485

积分

注册会员

积分
485
发表于 2021-9-12 17:03:00 | 显示全部楼层
激动人心,无法言表!
工控课堂 www.gkket.com

0

主题

546

回帖

1736

积分

高级会员

积分
1736
发表于 2021-9-12 17:47:13 | 显示全部楼层
论坛有你更精彩!
工控课堂 www.gkket.com

0

主题

97

回帖

147

积分

新手上路

积分
147
发表于 2025-11-13 23:46:54 | 显示全部楼层
说得对!狠狠赞同,没毛病~
工控课堂 www.gkket.com

0

主题

82

回帖

128

积分

新手上路

积分
128
发表于 2025-11-14 00:02:56 | 显示全部楼层
水贴也要有仪式感,我先来打卡~
工控课堂 www.gkket.com

0

主题

323

回帖

1195

积分

中级会员

积分
1195
发表于 2025-11-14 00:12:23 | 显示全部楼层
同款经历!我当初也这么过来的😂
工控课堂 www.gkket.com

0

主题

162

回帖

500

积分

中级会员

积分
500
发表于 2025-11-14 00:25:01 | 显示全部楼层
不请自来,只为说一句:太精彩了!
工控课堂 www.gkket.com

0

主题

111

回帖

170

积分

新手上路

积分
170
发表于 2025-11-14 21:25:40 | 显示全部楼层
浅评一下:内容优质,值得推荐~
工控课堂 www.gkket.com

0

主题

130

回帖

218

积分

注册会员

积分
218
发表于 2025-11-15 00:19:57 | 显示全部楼层
蹲一波同款,有没有小伙伴推荐?
工控课堂 www.gkket.com

0

主题

102

回帖

152

积分

新手上路

积分
152
发表于 2025-11-15 01:08:42 | 显示全部楼层
水个经验,楼主加油,支持你~
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 20:57 , Processed in 0.075899 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表