撕裂在我的动画上的WinForms C#(Tearing in my animation on Wi

2019-08-04 12:03发布

我使用的文库,其中使我的WinForm动画元件的移动(下面的链接),当我使用其移动跨越形式的透明面板(其具有图像的背景)有撕裂的非凡量。

我认为,解决方法是获得的WinForms以30fps的速率刷新而不laggy。 我想设置一个计时器做This.Refresh(); 以每秒30次,但它只是结束了加载速度慢。 那么,如何将实现形式的一个很好的刷新率?

上述链路是此处- > http://code.google.com/p/dot-net-transitions/wiki/CodingWithTransitions#Creating_a_transition_that_works_on_a_single_property

下面是撕裂的一个例子。 它可能有一些做的事实,该面板的背景色设置为“透明” http://screencast.com/t/XIr3NkGI

Answer 1:

我这个年龄前使用时,我有一个表格闪烁控制的麻烦,我的情况有许多控制和加载窗体时控件会相当糟糕的闪烁现象。

最后,我用这个:

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

粘贴在你的形式。

它激活双缓冲在表单级别和其中的所有控件。 然而,尽管停止了我的闪烁问题,大大降低了在该表单元素移动,因为他们没有拿得出,直到他们是100%准备好速度。

我想你可以尝试,看看它是否适合你的情况。



文章来源: Tearing in my animation on WinForms C#