添加一个类 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