网站首页 博客 DataGridView在多线程中出现大红叉
项目中做了一个多线程实现 DataGridView 动态刷新数据,但是在动态刷新数据N次之后,DataGridView 突然变成一个大红叉。
处理的方法,重新封装 DataGridView 控件,重写 OnPaint 方法,代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace XuexiIefeel { public class DataGridViewIefeel : DataGridView { protected override void OnPaint(PaintEventArgs e) { try { base.OnPaint(e); } catch { Invalidate(); } } } }
然后在项目中所有用到 DataGridView 的地方都替换成 DataGridViewIefeel,问题解决。