gkket 发表于 2021-9-12 15:56:37

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

在多线程中对DataGridView指定 DataSource 来填充数据,更新数据的时候,会导致DataGridView出现假死,显示错误或者滚动条无法显示的问题,在保证了DataGridView的ScrollBars设置为了Both,数据量大于DataGridView显示的的范围,而且没有冻结列的情况下,解决方法如下:使用 Invoke 将执行数据绑定的代码交回给主线程(因为 DataGridView 是主线程创建的);
// .net 4.0
this.Invoke(new Action(delegate {
    // 绑定数据源
    dataGridView1.DataSource = dt;
}));

// .net 2.0
private delegate void InvokeHandler();
this.Invoke(new InvokeHandler(delegate ()
{
    // 绑定数据源
    dataGridView1.DataSource = dt;
}));


yindal@126.com 发表于 2021-9-12 17:03:00

激动人心,无法言表!

奇迹685 发表于 2021-9-12 17:47:13

论坛有你更精彩!

工控小王 发表于 2025-11-13 23:46:54

说得对!狠狠赞同,没毛病~

xzqjy 发表于 2025-11-14 00:02:56

水贴也要有仪式感,我先来打卡~

311606000411 发表于 2025-11-14 00:12:23

同款经历!我当初也这么过来的😂

youyinx 发表于 2025-11-14 00:25:01

不请自来,只为说一句:太精彩了!

轮回 发表于 2025-11-14 21:25:40

浅评一下:内容优质,值得推荐~

nanjide 发表于 2025-11-15 00:19:57

蹲一波同款,有没有小伙伴推荐?

wx_vr6dMgR0 发表于 2025-11-15 01:08:42

水个经验,楼主加油,支持你~
页: [1] 2
查看完整版本: Winform DataGridView 线程中卡死, 不显示滚动条