我正在尝试使用 Winforms 制作翻转/滑动效果。

准确地说:第一个 Form 滑出屏幕而第二个滑入的效果。

经过大量研究,我得出的结论是翻转效果在 Winforms 中不起作用。

我尝试了以下滑动效果:

  • 在 Wpf 应用程序中嵌入 winforms - 使用 Windowsformshost
    --> Windowsformshost 不支持动画。
  • 更改表格位置
    一种。带定时器
    湾带循环
    C。单独的线程

    -->表格闪烁,看起来不专业
  • 屏幕截图 - 即表格的屏幕截图

    --> 同样的问题:闪烁的
  • AnimateWindow 函数 (API)

    --> API 不支持线程
    --> 不可能同时滑入和滑出两种形式。
    --> 同样的问题:闪烁的

  • 附加信息:

    我使用 C# ,Visual Studio 2010 (Dot net Framework 4.0)
    第 3 方控制 - Telerik
    在我的表单上是自定义控件(扩展 Telerik 控件)
    我已将控件的双缓冲设置为 True。

    如果有人可以帮助/建议克服这个问题(winforms 翻转/滑动效果),那将非常有帮助。

    问候, WickedSquall

    最佳答案

    最好的选择是

    5. 切换到 WPF。它在 DirectX 上运行,您需要它。

    但我想这不是一个选择。最可行的似乎是您的选项 3 ,移动位图。闪烁应该可以通过双缓冲等解决。

    关于c# - Winforms 的翻转/滑动效果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5866228/

    10-13 09:29