朋友,你的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即可。
祝好运!
时间: 2024-10-29 04:51:10