首页 > Windows开发 > 详细

C#Label实时更新防闪烁

时间:2021-04-25 23:09:51      阅读:29      评论:0      收藏:0      [点我收藏+]
底层重绘每次会清除画布,然后再全部重新绘制,这是导致闪烁最主要的原因。于是重载消息发送函数操作,禁掉这条消息。
protected override void WndProc(ref Message m)
        {
            if (m.Msg == 0x0014) // 禁掉清除背景消息
                return;
            base.WndProc(ref m);
        }

protected override CreateParams CreateParams { get {
CreateParams cp = base.CreateParams; cp.ExStyle |= 0x02000000; return cp; } }
public static void SetDoubleBuffered(object obj)
        {
            Type type = obj.GetType();
            PropertyInfo pi = type.GetProperty("DoubleBuffered",
            BindingFlags.Instance | BindingFlags.NonPublic);
            pi.SetValue(obj, true, null);
        }

C#Label实时更新防闪烁

原文:https://www.cnblogs.com/youyou6666/p/14702296.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!