ListView防闪烁

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ListView防闪烁相关的知识,希望对你有一定的参考价值。

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

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防闪烁的主要内容,如果未能解决你的问题,请参考以下文章

更新单个 ListViewItem 的文本时如何防止 ListView 闪烁?

前端防扒代码片段

前端防扒代码片段

前端防扒代码片段

前端防扒代码片段

前端防扒代码片段