C# CreateParams和XP

C# CreateParams和XP,c#,winforms,windows-xp,createparams,C#,Winforms,Windows Xp,Createparams,我已经在互联网上和stackoverflow上搜索过了,但我没有找到任何正确/可靠的解决方案 我想从我的一个c#Windows窗体中删除闪烁 因此,我以以下方式重写了CreateParams方法 protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ExStyle |=

我已经在互联网上和stackoverflow上搜索过了,但我没有找到任何正确/可靠的解决方案

我想从我的一个c#Windows窗体中删除闪烁

因此,我以以下方式重写了CreateParams方法

    protected override CreateParams CreateParams
    {
        get
        {
            CreateParams cp = base.CreateParams;
            cp.ExStyle |= 0x02000000;  // Turn on WS_EX_COMPOSITED
            return cp;
        }
    }
当在Vista、Windows7和Windows8中使用时,这将从我的应用程序中删除闪烁。但在XP中,我的控件是随机更改的。我的复选框变得不可见

我已经提到了堆栈溢出问题。但是我不能用它,因为我没有任何电子书。这是在已使用的定义控件中发生的!
请给我建议一个可行的解决方案

我不知道XP特定故障模式的可能重复。别提这个问题,XP用户的期望值很低。仅当(Environment.OSVersion.Version.Major>=6)时设置标志。顺便说一句,这里需要归属。