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,问题解决。

更多内容点此查看。

你可能感兴趣的:(C#,c#,datagridview)