//重 绘ListView public class DoubleBufferListView : ListView { public DoubleBufferListView() { SetStyle(ControlStyles.DoubleBuffer | ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true); UpdateStyles(); } } //创建ListView private void CreateListView() { DoubleBufferListView dblv = new DoubleBufferListView(); dblv.Dock = DockStyle.Fill; dblv.View = View.Details; dblv.Name = "dblvQuestion"; dblv.Size = new System.Drawing.Size(794, 276); dblv.UseCompatibleStateImageBehavior = false; dblv.TabIndex = 0; dblv.Location = new System.Drawing.Point(26, 26); dblv.HideSelection = false; dblv.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); dblv.Columns.Add("题目编号", 65); dblv.Columns.Add("题目内容", 345); dblv.Columns.Add("父题编号", 65); dblv.Columns.Add("出题者"); dblv.Columns.Add("出题时间", 100); dblv.Columns.Add("类型"); dblv.Columns.Add("科目"); dblv.GridLines = true; dblv.FullRowSelect = true; dblv.ContextMenuStrip = this.cmsListView; this.Controls.Add(dblv); }/// <summary> ///双缓冲DataGridView,解决闪烁 /// </summary> class DoubleBufferListView : DataGridView { public DoubleBufferListView() { SetStyle(ControlStyles.DoubleBuffer | ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true); UpdateStyles(); } } 然后在DataGridView所在窗体的InitializeComponent方法中,更改控件类型实例化语句为: //this.dataGridView1 = new System.Windows.Forms.DataGridView(); (屏蔽掉) this.dataGridView1 = new DoubleBufferListView();