/// <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();
ListView
/// <summary>
///双缓冲ListView ,解决闪烁
/// </summary>
class DoubleBufferListView : ListView
{
public DoubleBufferListView()
{
SetStyle(ControlStyles.DoubleBuffer | ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
UpdateStyles();
}
}
然后在ListView 所在窗体的InitializeComponent方法中,更改控件类型实例化语句为:
//this.listView1 = new System.Windows.Forms.ListView(); (屏蔽掉)
this.listView1 = new DoubleBufferListView();

本文介绍了如何通过实现双缓冲技术来解决DataGridView和ListView控件在Windows应用程序中出现的闪烁问题。通过继承DataGridView和ListView类并设置特定样式,可以有效减少界面的闪烁现象,提升用户体验。
1656

被折叠的 条评论
为什么被折叠?



