近来写了个用.NET 4.0(C#) 在Win 7上写了个Windows桌面程序,在程序中使了C#,标准控件ListView显示并更新数据显示,其实每个Item只是更新其中一个SubItem的Text,刷新间隔是512ms,在Win7上运行闪得非常厉害,简直看不清楚了,但是在WinXP和Win2003上就好多了,但是也是闪烁得厉害,在网上搜索了一下,找到了下面的解决方法:用下面的类,代替标准的ListView,我就依计而行.把修改后的程序放到XP上改观了不少,但是放到Win7上基本没有什么改观,我的机器配置很高,显存达到2G,这到底是什么原因?是Win7比WinXP,Win2003更差了吗?
class DoubleBufferListView: ListView
{
public DoubleBufferListView()
{
SetStyle(ControlStyles.DoubleBuffer | ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
UpdateStyles();
}
}