首页 > 代码库 > ListView防闪烁

ListView防闪烁

朋友,你的C# ListView是否像霓虹灯一样闪烁?直到眼花缭乱?
看过来吧,ListViewNF是你的对症良药!
只需几句话,你的视界将如此不同!

转载请保留:http://enmind.blog.163.com/blog/static/16413800120104164576142/

1、新建一个C# 类,命名为ListViewNF(NF=Never/No Flickering)
2、复制如下代码
class ListViewNF : System.Windows.Forms.ListView{   public ListViewNF()   {     // Activate double buffering     this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);     // Enable the OnNotifyMessage event so we get a chance to filter out      // Windows messages before they get to the form‘s WndProc     this.SetStyle(ControlStyles.EnableNotifyMessage, true);   }   protected override void OnNotifyMessage(Message m)   {     //Filter out the WM_ERASEBKGND message     if (m.Msg != 0x14)     {       base.OnNotifyMessage(m);     }   }}
3、完成
修改你的WinForm对应的xxxx.Design.cs,将系统默认生成的System.Windows.Forms.ListView改为ListViewNF即可。

祝好运!

ListView防闪烁