添加一个类 DoubleBufferDataGridView
using System;
using System.Reflection;
using System.Windows.Forms;public static class DoubleBufferDataGridView
{/// <summary>/// 双缓冲,解决闪烁问题/// </summary>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