天天看点

C#中解决Panel等控件闪烁的方法

首先我们需要重新创建一个Panel类,其继承系统自带的Panel类,然后充新写一个构造函数,对其中的部分样式进行更改。

代码:

public class NewPanel:Panel
    {
        public NewPanel()
        {
            this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
            this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
            this.SetStyle(ControlStyles.UserPaint, true);
        }
    }
           

然后在窗口初始化的代码块中更改为我们当前新建的Panel类即可,其它代码都不必用~。

个人认为是非常棒的一种解决方案,可以完全解决闪烁的问题。