C# winform使用CreateParams解决闪烁问题然后导致界面不显示

做了个多控件的winform发现闪烁太过严重
且从form中设置双缓存无任何卵用
遂用了以下办法解决闪烁问题

protected override CreateParams CreateParams
{
    get
    {
        CreateParams cp = base.CreateParams;
        cp.ExStyle |= 0x02000000;
        return cp;
    }
}


protected override void WndProc(ref Message m)
{
    if (m.Msg == 0x0014) // 禁掉清除背景消息
        return;
    base.WndProc(ref m);
}

但发现会导致窗口不显示,
窗口能被截图拦截等窗口捕捉软件捕捉到,好像完全透明的状态
多次尝试解决,在窗体激活事件中添加
Refresh强制控件无效并立即重绘自己和任何子控件

  private void Form1_Activated(object sender, EventArgs e)
  {
            this.Refresh();
  }

你可能感兴趣的:(c#,开发语言)