c# - 在 WinForms C# 上撕裂我的动画

标签 c# winforms animation tearing

我正在使用一个库,该库使我能够为 WinForm 元素的移动设置动画(下面链接),当我使用它在表单(具有图片背景)上移动透明面板时,会出现大量撕裂。

我相信解决办法是让 winforms 以 30fps 的速率刷新而不会出现延迟。我尝试设置一个计时器以每秒 30 次的速度执行 This.Refresh();,但最终加载速度很慢。那么我如何才能获得良好的表单刷新率呢?

上面描述的链接在这里 -> http://code.google.com/p/dot-net-transitions/wiki/CodingWithTransitions#Creating_a_transition_that_works_on_a_single_property

这是撕裂的示例。这可能与面板的背景色设置为“透明”有关 http://screencast.com/t/XIr3NkGI

最佳答案

我很久以前就用过这个,当时我在表单上的控件闪烁方面遇到了麻烦,在我的例子中,有很多控件,当加载表单时,控件会闪烁得很厉害。

最后我用的是这个:

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

将其粘贴到您的表单中。

它在表单级别以及其中的所有控件激活双缓冲。 然而,虽然它解决了我的闪烁问题,但它大大降低了表单元素似乎移动的速度,因为它们在 100% 准备就绪之前不会被绘制。

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

关于c# - 在 WinForms C# 上撕裂我的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13999781/

相关文章:

c# - 我应该等到 VS 2010 发布后再购买 Resharper 吗?

c# - 选择后组合框专注于文本的开头

python - 无法在 matplotlib 中保存动画 : Windows permission denied

c# - Unity - 带有 UI slider 的场景背景音乐

c# - 自更新 WPF 应用程序的库

c# - linq中的动态属性名称

c# - Windows C# 表单 : Prompt focus on a textbox

.net - 如何在 PropertyGrid 中为模态 UITypeEditor 重新标记省略号按钮?

ios - 我可以在任意 UIView 变量上设置动画吗?

iphone - 你将如何实现 [UIViewController presentModalViewController]?