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即可。

祝好运!

时间: 2024-10-29 04:51:10

ListView防闪烁的相关文章

【MFC】MFC绘制动态曲线,用双缓冲绘图技术防闪烁

摘自:http://zhy1987819.blog.163.com/blog/static/841427882011614103454335/ MFC绘制动态曲线,用双缓冲绘图技术防闪烁 2011-07-14 10:34:54|  分类: 学习笔记 |  标签:双缓冲绘图技术  mfc  动态曲线   |举报 |字号 订阅 先上效果图 随着时间的推移,曲线向右平移,同时X轴的时间坐标跟着更新.一.如何绘制动态曲线. 所谓动画,都是一帧一帧的图像连续呈现在用户面前形成的.所以如果你掌握了如何绘制静

【Android UI】ListView系列一(基础篇)

----–ListView基础 ListView是一个用于显示滚动的列表项的视图组.listview通过一个适配器adapter将数据以列表的形式展示出来.listview可以说是Android应用层开发非常重要的组件之一,几乎每个App都有它的身影,通过适配器可以使listview呈现出各种不同的样式和风格,作为Android开发人员必须熟练掌握. 下面介绍一下listview的一些常用属性: 1.divider属性:在列表条目之间显示的可绘制对象或颜色. 布局代码 <RelativeLayo

VC/MFC 编程技巧大总结

1 toolbar默认位图左上角那个点的颜色是透明色,不喜欢的话可以自己改. 2 VC++中 WM_QUERYENDSESSION WM_ENDSESSION 为系统关机消息. 3 Java学习书推荐:<java编程思想> 4 在VC下执行DOS命令 a. system("md c:\\12"); b. WinExec("Cmd.exe /C md c:\\12", SW_HIDE); c. ShellExecute ShellExecute(NULL,

四人小组项目

组长:沈柏杉 组员:韩媛媛 程媛媛 谭力铭 项目选题:视频监控系统 项目期限:暂定十周 一.NABCD模型 N-Need 需求分析及相应功能设置 需求概述: 针对幼儿园儿童安全问题架设的视频监控系统(也可用于商场) 功能设置: 本软件适用于笔记本自带摄像头或者USB接口摄像头:当有多个摄像头时,以列表的形式显示,可根据需求选择: 设置文件(录像视频,截图文件)保存的路径,若用户不进行保存,默认在指定的文件夹下存储: 视频画面质量设置,包括亮度,对比度,色调,饱和度,清晰度,伽马,白平衡,逆光对比

四人小组项目(对项目进行的修改与重写)

抱歉,之前因为没有理解要求,现在对四人小组项目进行个人的想法汇总.重新发布一份四人小组项目分析. 组长:沈柏杉 组员:韩媛媛 程媛媛 谭力铭 项目选题:视频监控系统 项目期限:暂定十周 一.NABCD模型 N-Need 需求分析及相应功能设置 需求概述: 针对幼儿园儿童安全问题架设的视频监控系统(也可用于商场) 功能设置: 1.所选硬件均选用先进.成熟.可靠的产品,使监控成熟,可靠. 2.网络摄像机是稳定可靠,使用网络摄像机的网络监控系统.稳定性.可靠性大大提高,无需专人管理,非常适合于无人值守

vue的指令

我之前学了学angular 发现angular和vue的指令有点类似 先说一下 new  Vue({ el: "#box", // element(元素) 当前作用域 data(){ return { //用return返回对象 msg: "122" } } }) 首先是 v-model双向绑定数据 <input type="text" v-model="msg"/>   {{msg}} <!--取数据--&

第二周:四人小组项目

组长:沈柏杉 组员:韩媛媛 程媛媛 谭力铭 项目选题:幼儿园视频监控系统 项目期限:暂定十周 NABCD模型 N-Need需求分析及相应功能设置: 需求概述:针对幼儿园儿童安全问题架设的视频监控系统(也可用于商场). 功能设置: 本软件适用于笔记本自带摄像头或者USB接口摄像头:当有多个摄像头时,以列表的形式显示,可根据需求选择: 设置文件(录像视频,截图文件)保存的路径,若用户不进行保存,默认在指定的文件夹下存储: 视频画面质量设置,包括亮度,对比度,色调,饱和度,清晰度,伽马,白平衡,逆光对

vue指令总结

new  Vue({ el: "#box",            // element(元素) 当前作用域 data:{ msg:"hello!" }, methods:{ changecontent(){ this.msg='hi!' } } }); 一.v-model双向绑定数据 <input type="text" v-model="msg"/>   {{msg}}      // "hello!

Vue基础指令集锦

v-model双向绑定数据 <input type="text" v-model="msg"> {{msg}} ###v-on 事件 <div id="box"> <button v-on:click="say">按钮</button> <button @click="say">按钮</button> </div> <