Winform应用程序在XP系统上闪烁

时间:2014-09-16 11:13:12

标签: c# .net windows winforms flicker

您好我有一个Windows应用程序(winform .net框架4)。该应用程序在Windows XP系统上闪烁很多。我添加了代码:

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

当我添加上面的代码时,删除了闪烁。它在我的开发系统上运行良好, Windows 7 32位但是在 Windows XP 上,闪烁增加了,并且没有加载背景图像。

有没有什么方法可以在所有Windows操作系统中删除闪烁?

2 个答案:

答案 0 :(得分:1)

您也可以尝试

SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);

答案 1 :(得分:1)

Here is some information about Double Buffering。这是一个默认关闭的内置功能。根据我的经验,它并不总是有帮助,但值得尝试。

要打开它,请打开设计器并选择表单并查看表单的“属性”。在类别'行为'你会发现DoubleBuffered属性。只需将其设置为true即可。

enter image description here