ListView防闪烁
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ListView防闪烁相关的知识,希望对你有一定的参考价值。
朋友,你的C# ListView是否像霓虹灯一样闪烁?直到眼花缭乱?
看过来吧,ListViewNF是你的对症良药!
只需几句话,你的视界将如此不同!
看过来吧,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即可。
修改你的WinForm对应的xxxx.Design.cs,将系统默认生成的System.Windows.Forms.ListView改为ListViewNF即可。
祝好运!
以上是关于ListView防闪烁的主要内容,如果未能解决你的问题,请参考以下文章