利用WinForm来解决UserControl自定义控件闪烁的问题

作者:袖梨 2022-06-25

主要就是重写UserControl和Form的CreateParams方法。

前端调用UserControl的窗体这样写:

 代码如下 复制代码
protected override CreateParams CreateParams
{
    get
    {
        CreateParams cp = base.CreateParams;
        cp.ExStyle |= 0x02000000;  // Turn on WS_EX_COMPOSITED
        return cp;
    }
}

 
UserControl中的代码同样也需要重写,这样写:

 代码如下 复制代码
protected override CreateParams CreateParams
{
    get
    {
        var parms = base.CreateParams;
        parms.Style &= ~0x02000000;  // Turn off WS_CLIPCHILDREN
        return parms;
    }
}

 
这样设置之后我们的前面碰到的问题就基本解决了哦,大家如果有更好的办法要在下面留言哦。

相关文章

精彩推荐