winform更新UI控件的时间过长导致假死

winform更新UI控件的时间过长导致假死我有一个datagridview,一般会有几千到几万条数据。需要根据不同的数据给不同的单元格着色。这个时间虽然不长,只需要几秒... winform更新UI控件的时间过长导致假死我有一个datagridview,一般会有几千到几万条数据。需要根据不同的数据给不同的单元格着色。这个时间虽然不长,只需要几秒钟,但是更新UI的几秒钟就会黑屏卡死,请问有什么解决方案呢?多线程又不能访问UI控件 展开
 我来答
cc486255
2018-03-30 · 知道合伙人软件行家
cc486255
知道合伙人软件行家
采纳数:697 获赞数:1968
3年.NET开发经验

向TA提问 私信TA
展开全部

可以用多线程,委托创建控件的那个线程来更新控件就可以了。

if (dataGridView1.InvokeRequired) { //判断当前线程是否必须调用invoke来更新控件
    dataGridView1.Invoke(new Action(() => { //委托创建控件的线程进行更新控件
        dataGridView1.BackgroundColor = Color.Black;//更新控件操作    
    }));
}
追问
不是整个dgv,是每一个单元格哦
追答
不管是什么,反正多线程里操作控件就用Invoke
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式