防止窗体闪烁,使用对一些重绘空间有影响

文章提供了两种方法来防止窗体在重绘时出现闪烁。一种是通过设置控件的扩展样式来防止窗体跳转闪烁,但可能会导致控件边缘出现黑边。另一种是启用窗体的双缓冲机制,包括设置ControlStyles,这种方法在测试中对控件的影响较小。
摘要由CSDN通过智能技术生成


防止窗体闪烁的代码

        #region 防止窗体跳转闪烁
        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams cp = base.CreateParams;
                cp.ExStyle |= 0x02000000;
                return cp;
            }
        }
        #endregion

该代码会对重绘的控件有一定影响,比如控件会出现黑边等状况

窗体双缓冲的代码

            #region 双缓冲防止窗体闪烁
            SetStyle(ControlStyles.UserPaint, true);
            SetStyle(ControlStyles.AllPaintingInWmPaint, true); //  禁止擦除背景.
            SetStyle(ControlStyles.DoubleBuffer, true); //  双缓冲
            #endregion

该代码目前测试不影响控件的使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JiAngTxone

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值