添加一个类 DoubleBufferDataGridView

using System;

using System.Reflection;

using System.Windows.Forms;

public static class DoubleBufferDataGridView

{

///

/// 双缓冲,解决闪烁问题

///

public static void DoubleBufferedDataGirdView(this DataGridView dgv, bool flag)

{

Type dgvType = dgv.GetType();

PropertyInfo pi = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic);

pi.SetValue(dgv, flag, null);

}

}

在 Form1 代码中的某一个事件方法中调用即可,我是在“tabControl1_SelectedIndexChanged”事件方法中调用的,如下图

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)

{

DoubleBufferDataGridView.DoubleBufferedDataGirdView(dataGridView1, true);

}

实测可用:2024.09.02