C# 刷新页面出现闪屏问题总结

2025-10-16 19:31:57

1、第一点是最基本的操作,可在构造函数里加上以下代码:

C# 刷新页面出现闪屏问题总结

2、代码:

  //在构造函数里加上以下代码:

this.DoubleBuffered = true;//设置本窗体

SetStyle(ControlStyles.UserPaint, true);

SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.

SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲

3、上一步操作 双缓存也可以直接在指定控件的属性栏设置,如下图:

C# 刷新页面出现闪屏问题总结

4、在该父窗体里可添加防止闪烁的代码,如下图:

C# 刷新页面出现闪屏问题总结

5、代码:

// 防止闪屏  

protected override CreateParams CreateParams  

{  

get  

{  

CreateParams cp = base.CreateParams;  

cp.ExStyle |= 0x02000000;  

return cp;  

}  

6、当然,在晚上我还看到其他方法,也可试试,如下图:

C# 刷新页面出现闪屏问题总结

C# 刷新页面出现闪屏问题总结

7、代码:

protected override CreateParams CreateParams

        {

            get

            {

                CreateParams cp = base.CreateParams;

                cp.ExStyle |= 0x02000000;  

                if (this.IsXpOr2003 == true)

                {

                    cp.ExStyle |= 0x00080000; 

                    this.Opacity = 1;

                }

                return cp;

            }

        }  //防止闪烁

        private Boolean IsXpOr2003

        {

            get

            {

                OperatingSystem os = Environment.OSVersion;

                Version vs = os.Version;

                if (os.Platform == PlatformID.Win32NT)

                    if ((vs.Major == 5) && (vs.Minor != 0))

                        return true;

                    else

                        return false;

                else

                    return false;

            }

        }

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢