1、第一点是最基本的操作,可在构造函数里加上以下代码:
2、代码: //在构造函数里加上以下代码: this.DoubleBuffered = true;//设置本窗体 SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景. SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲
3、上一步操作 双缓存也可以直接在指定控件的属性栏设置,如下图:
4、在该父窗体里可添加防止闪烁的代码,如下图:
5、代码:// 防止闪屏protected override CreateParams CreateParams{get{CreateParams cp = base.CreateParams;cp.ExStyle |= 0x02000000;return cp;}}
6、当然,在晚上我还看到其他方法,也可试试,如下图:
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; } }